LINUX.ORG.RU

как прочитать кусок памяти другого приложения


0

1

pmap:
...
00000000018e3000 132K rw--- [ anon ]
00007f03f7881000 15420K rw--- [ anon ]
00007f03f8790000 1512K r-x-- /lib/libc-2.11.1.so
00007f03f890a000 2044K ----- /lib/libc-2.11.1.so
...

Нужный регион находится тут: 0x7f03f848d010. 0x7f03f848d010 == 139655027150864

Пробую читать память

sudo dd if=/proc/20427/mem of=ram bs=1M count=4 skip=139655027150864

Но получаю ошибку:

dd: reading `/proc/20427/mem': No such process

В чем может быть ошибка? Есть какие то другие способы сохранить регион памяти?


Ответ на: комментарий от Artificial_Thought

> А ты уверен, что процесс вообще может читать чужую память?

В мене ничего по этому поводу не сказано:

/proc/[number]/mem

This file can be used to access the pages of a process's memory through open(2), read(2), and fseek(3).

Но кажется это было бы логичным. Ну и gdb может читать память запущенного процесса. Способ скорее всего существует.

stpg
() автор топика
Ответ на: комментарий от bvvv

Пасибо, походу дела - то что нужно

stpg
() автор топика

sudo cat /dev/mem

Читай всю, мне не жалко!

ttnl ★★★★★
()
Ответ на: комментарий от Roland

еще один «разработчик», который не знает про индивидуальное адресное пространство процессов?

xydo ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.