SuperAPI AI 工具集

anti-debugging-techniques

测试与质量

查看项目

更新于 10-15 21:53

技能介绍

用途:面向逆向受保护二进制文件时的反调试检测与绕过,覆盖 Linux 与 Windows 的用户态与内核态检测差异及对应修补策略。

主要能力:Linux 侧涵盖 ptrace(PTRACE_TRACEME)、/proc/self/status 的 TracerPid、rdtsc/clock_gettime 计时检测、SIGTRAP 信号检测、/proc/self/maps 与 LD_PRELOAD 检测、环境变量检测;Windows 侧涵盖 IsDebuggerPresent、CheckRemoteDebuggerPresent、PEB 标志(BeingDebugged、NtGlobalFlag、ProcessHeap.Flags/ForceFlags)、NtQueryInformationProcess、硬件断点检测、INT 2D/INT 3/UD2 异常技巧、TLS 回调、NtSetInformationThread(ThreadHideFromDebugger)、VEH 检测。高级部分含 fork+ptrace 自调试、多进程互检、多检查点计时、Nanomite/INT3 修补。

使用方式:先静态定位反调试调用,再按 API 类、标志类、计时类、异常类、多进程类分类,依次加载 ScyllaHide 或设置 LD_PRELOAD、处理 TLS 回调、用 Frida 或二进制补丁处理剩余检查,最后在 ExitProcess/exit/_exit 下断点验证绕过完整性。示例命令:LD_PRELOAD=/tmp/ap.so ./target;gcc -shared -o /tmp/ap.so /tmp/ap.c。

适用场景:CTF 与真实保护(VMProtect、Themida、Enigma Protector 等)的逆向分析。

限制:具体效果与兼容性依赖目标环境,资料未提供各技术的可靠性评级细节与完整交叉矩阵(需另加载 ANTI_DEBUG_MATRIX.md)。