我正在使用以下代码,无论何时调用开放系统调用,它实际上都会获取寄存器(eax,ebx,ecx)中的内容。经过大量的努力,我明白了这个价值观从Question中得到了什么。
ebx包含指向filename的指针。但是当我尝试访问它时,我遇到了分段错误。我哪里错了?
可以从here
答案 0 :(得分:2)
每个进程都有自己的地址空间。从其他流程获得的地址在您的地址中无效。在另一个过程中读取内存的一种方法是use PTRACE_PEEKDATA
。在Linux上,另一种方法是打开/proc/<pid>/mem
,寻找地址,并像文件一样从中读取。