[pso] Slideul 39 din cursul 2

Lucian Cojocar cojocar at gmail.com
Sun Mar 7 17:23:08 EET 2010


Octavian Purdila wrote:
>> Salut,
>>
>> poate să funcţioneze aşa ceva:
>>
>> ""
>> $ cat /proc/$$/maps
>> ...
>> bfac5000­bfada000 rw­p bffeb000 00:00 0          [stack]
>> ffffe000­fffff000 r­xp 00000000 00:00 0            [vdso]
>>
>> $ dd if=/proc/self/mem of=linux­gate.so bs=4096
>> skip=$[0xffffe] count=1
>> "" ?
>>
>> Având în vedere că $$ e pidul bashului şi self al dd-ului (copilului).
>>
>> Funcţiona pe un kernel mai vechi (execve păstra rangeul spaţiului
>> virtual), sau dd era comandă internă?
>>
> 
> Din cate stiu eu VDSO-ul este mapat la aceeasi adresa in toate procesele (poate daca e activat address space randomization nu mai  adevarat), dar intr-adevar ar fi mai corect sa folosesc $$. O sa corectez.
> 
> 

Aha, pai atunci e ok self acolo, pentru că, banuiesc că un proces nu 
poate citi din zona de memoria a altui proces.

Am găsit o maşină cu un kernel care nu schimbă de fiecare dată maparea 
lui [vdso], această maşină este pe 32 de biţi dar are aceleaşi setări 
(cel puţin cele alea care cred eu că-s importante) ca şi cea pe 64 (care 
schimbă adresele).

"
/proc/sys/kernel/randomize_va_space e 1
CONFIG_VDSO_COMPAT=y
"

Dar tot nu merge dd if=/proc/self/mem nici pe maşina care mapează în 
acelaşi loc [vdso].

-- 
Lucian Cojocar

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3304 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://cursuri.cs.pub.ro/pipermail/pso/attachments/20100307/f739b78e/attachment.bin>


More information about the pso mailing list