如何在Ubuntu Linux下使用python写入另一个进程的地址空间?我的尝试:
1)使用虚拟文件/ proc/$ PID/mem并寻找地址.我已成功使用它来读取内存,但尝试写入会导致IOError:
fd=open("/proc/"+pid+"/mem","r+")
fd.seek(address,0)
fd.write("ABC")
Run Code Online (Sandbox Code Playgroud)
输出:
IOError: [Errno 22] Invalid argument
Run Code Online (Sandbox Code Playgroud)
2)尝试使用其他线程中建议的python-ptrace库.但是,我找不到好的文档或示例代码.
注意:这不是权限问题,以root身份运行会产生相同的行为.