日期:2014-05-16  浏览次数:20654 次

injectso--ptrace
最近在看你injectso代码的时候,发现在ubuntu11.04环境下运行代码的时候,调用ptrace_read函数返回-1,我打印出错代码是

[/lib/i386-linux-gnu/libc.so.6]
ptrace_read: Input/output error
ptrace_read: Input/output error

出错代码如下:
hashtable = dyn->d_un.d_ptr + lm->l_addr;
ptrace_read(pid, dyn->d_un.d_ptr + lm->l_addr,&nbuckets, sizeof(nbuckets));
ptrace_read(pid, dyn->d_un.d_ptr + lm->l_addr + 4,&nchains, sizeof(nchains));

希望哪位大神给讲讲这个问题呀.我怀疑是虚拟地址不可读的问题...因为我这个是通过读取其他进程内数据的.
Linux 中有没有修改虚拟地址权限的函数的呀...
谢谢各位了

------解决方案--------------------
我也碰到了这个问题,怀疑是libc.so.6做了限制防止injectso了。哥们可以交流一下 kearnel@163.com