一尘不染

转储进程的内存

linux

读取/ proc / $ PID / maps时,将获得映射的内存区域。这是甩掉其中一个地区的方法吗?

$ cat /proc/18448/maps
...[snip]...
0059e000-005b1000 r-xp 00000000 08:11 40         /usr/local/lib/libgstlightning.so.0.0.0
005b1000-005b2000 r--p 00012000 08:11 40         /usr/local/lib/libgstlightning.so.0.0.0
005b2000-005b3000 rw-p 00013000 08:11 40         /usr/local/lib/libgstlightning.so.0.0.0
...[snip]...

谢谢


阅读 208

收藏
2020-06-07

共1个答案

一尘不染

不!打电话ptrace()PTRACE ATTACH。然后打开/proc/<pid>/mem,寻找区域偏移量,然后按照中给出的那样读取区域的长度/proc</pid>/maps

这是我编写的在C语言中执行的程序。这是我编写的在Python(以及ptrace绑定)中执行的模块。最后,将程序的所有区域转储到files的程序

请享用!

2020-06-07