我試圖連接使用gdb一個程序,但它返回我:GDB的ptrace操作不允許
附加到進程29139 無法附加到進程。如果您的uid與目標 進程的uid匹配,請檢查/ proc/sys/kernel/yama/ptrace_scope的設置,或者再次嘗試 作爲root用戶。有關更多詳細信息,請參閱/etc/sysctl.d/10-ptrace.conf ptrace:不允許操作。
edb-debugger returns「無法附加到進程,請檢查權限,然後再試一次。」
strace的回報 「附:ptrace的(PTRACE_ATTACH,...):操作不允許」
我改變 「kernel.yama.ptrace_scope」 1比0和「的/ proc/sys目錄/內核/閻王/ ptrace_scope 「1至0,並試圖 」設置環境LD_PRELOAD =/ptrace.so「 與此:
#include <stdio.h>
int ptrace(int i, int j, int k, int l)
{
printf(" ptrace(%i, %i, %i, %i), returning -1\n", i, j, k, l);
return 0;
}
,但它仍然返回相同的錯誤。我如何將它附加到調試器?
它attachs簡單的程序,但我試圖附上一個crackme文件。它有反調試保護[像這樣](http://xorl.wordpress.com/2009/01/01/quick-anti-debugging-trick-for-gdb/)。 – user2850750
@ user2850750:我在答案中增加了一點。 –
我正在嘗試將它作爲根 – user2850750