用途:帮助分析人员在获得明确书面授权或处于合法安全场景(恶意软件分析、授权渗透测试、CTF、学术研究、分析自有软件)时,理解并绕过软件保护机制,以完成分析任务。资料强调未授权绕过可能违反 CFAA、DMCA 反规避等法律。
主要能力:
- 反调试:Windows 侧涵盖 IsDebuggerPresent、CheckRemoteDebuggerPresent、NtQueryInformationProcess、PEB(BeingDebugged、NtGlobalFlag、堆标志)、RDTSC/QueryPerformanceCounter/GetTickCount 计时检测、SEH/VEH 异常检测;Linux 侧涵盖 ptrace 自跟踪、/proc/self/status 的 TracerPid、父进程检查。应对思路包括 ScyllaHide 插件、手动补丁、修改 PEB、LD_PRELOAD 钩子等。
- 反虚拟机:CPUID 超级visor 位与厂商串、MAC 前缀、注册表/文件/进程指纹、CPUID 计时异常;应对包括裸机环境、加固虚拟机、补丁检测代码、FLARE-VM。
- 代码混淆:控制流平坦化、不透明谓词、字符串加密(XOR、栈字符串)、API 动态解析与哈希、死代码插入、指令替换;分析可用 D-810、SATURN、FLOSS、HashDB、符号执行。
- 加壳与加密:UPX、Themida、VMProtect、ASPack、PECompact、Enigma;给出识别(DIE、Exeinfo PE、PEiD)、静态脱壳(如 upx -d packed.exe)、动态脱壳找 OEP、转储与修复导入表(Scylla、ImpREC)的方法。
- 虚拟化保护:识别 VM 入口、handler 表、字节码与虚拟寄存器,通过跟踪、提升/去虚拟化(VMAttack、SATURN、NoVmp)和符号执行(angr、Triton)分析。
使用方式:先确认授权与范围,识别保护类型,定位检查代码,再选择补丁、钩子或专用工具处理,并记录发现。
限制:资料为双用途安全知识,仅限合法场景;未提供具体安装命令、收费与平台信息;实际效果取决于目标保护实现,需自行验证。