[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
>> ...
>> bfac5000bfada000 rwp bffeb000 00:00 0 [stack]
>> ffffe000fffff000 rxp 00000000 00:00 0 [vdso]
>>
>> $ dd if=/proc/self/mem of=linuxgate.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