/********************************************************\ * fuckptrace.c * * By truff (truff@projet7.org) * * * * lkm to bypass anti ptrace protections in reverse * * engineering process. * * * * Greetz to #root and #!fr people * * * * www.projet7.org - Security Researchs - * \********************************************************/ #define MODULE=20 #define __KERNEL__=20 #include =20 #include =20 #include #include #include extern void* sys_call_table[];=20 extern struct task_struct *current; int (*orig_ptrace)(int requete, int pid, int addr, int data); int hacked_ptrace(int requete, int pid, int addr, int data) {=20 int ret =3D 0; if (current->ptrace & PT_PTRACED) ret =3D 0; else=20 ret =3D orig_ptrace (requete, pid, addr, data);=20 return ret; }=20 int init_module(void) =20 {=20 orig_ptrace =3D sys_call_table[SYS_ptrace];=20 sys_call_table[SYS_ptrace] =3D hacked_ptrace;=20 =20 return 0;=20 }=20 void cleanup_module(void) =20 {=20 sys_call_table[SYS_ptrace]=3Dorig_ptrace;=20 }