gdb などのツールを使ってデバッグしていたので、それらが実装されることについてほとんど知識がありません。プログラムにアンチデバッグ手法を実装しようとしていますが、デバッグに関する知識がほとんどないため、助けが必要です。http://www.julioauto.com/rants/anti_ptrace.htmから次のコードに出くわしました
void anti_ptrace(void)
{
pid_t child;
if(getenv("LD_PRELOAD"))
while(1);
child = fork();
if (child)
wait(NULL);
else
{
pid_t parent = getppid();
if (ptrace(PTRACE_ATTACH, parent, 0, 0) < 0)
while(1);
sleep(1);
ptrace(PTRACE_DETACH, parent, 0, 0);
exit(0);
}
}
上記のコードがどれほど成功するか、そして長所と短所は何ですか?
どんな助けでも大歓迎です。