Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use this skill when analyzing malware evasion techniques, when implementing anti-debugging protections for CTF challenges, when reverse engineering packed binaries, or when building security research tools that need to detect virtualized environments.
僅限授權使用:此技能包含雙用途安全技術。在進行任何繞過或分析之前:
- 驗證授權:確認您已獲得軟體所有者的明確書面許可,或是在合法的安全情境下操作(CTF、授權滲透測試、惡意軟體分析、安全研究)
- 記錄範圍:確保您的活動在授權範圍內
- 法律遵循:了解未經授權繞過軟體保護可能違反法律(CFAA、DMCA 反規避條款等)
合法使用案例:惡意軟體分析、授權滲透測試、CTF 競賽、學術安全研究、分析您擁有或擁有權利的軟體
防逆向技術
了解在授權軟體分析、安全研究和惡意軟體分析中遇到的保護機制。這些知識有助於分析師繞過保護,完成合法的分析任務。
進階技術請參閱 references/advanced-techniques.md
輸入 / 輸出
您提供的內容:
- 二進位檔路徑或樣本:正在分析的可執行檔、DLL 或韌體映像
- 平台:Windows x86/x64、Linux、macOS、ARM — 影響適用的檢查
- 目標:動態分析繞過、識別保護類型、建構偵測程式碼、為 CTF 實作
此技能產出的內容:
- 保護識別:命名技術(例如 RDTSC 時間檢查、PEB BeingDebugged)及其在二進位檔中的位置
- 繞過策略:特定的修補位址、掛鉤點或工具指令,以消除每個檢查
- 分析報告:結構化發現,列出每個保護層、嚴重性及建議的繞過方式
- 程式碼產出:Python/IDAPython 腳本、GDB 指令序列或 C 語言存根,用於繞過或實作檢查
詳細模式與實例
詳細模式文件位於 references/details.md。當上述導航層級不足時,請閱讀該檔案。
疑難排解
偵測技術在 x86 上有效,但在 ARM 上無效
RDTSC 和 CPUID 僅限 x86。在 ARM 上,使用 MRS x0, PMCCNTR_EL0(需要核心 PMU 存取)或 clock_gettime(CLOCK_MONOTONIC)。PEB/TEB 在 ARM 上不存在 — 請改用 /proc/self/status(Linux)或 task_info(macOS)。使用平台專用 API 重建偵測邏輯。
合法除錯器或分析工具造成誤判
當 Process Monitor 或防毒軟體掛鉤導致系統呼叫延遲增加時,時間檢查會觸發。在啟動時校準閾值:測量受保護路徑 3 次,並使用 mean + 3*stddev。對於 ptrace 檢查,在退出前透過 /proc/<pid>/comm 驗證 TracerPid 的 comm 名稱 — 它可能是無關的監控工具,而非除錯器。
繞過修補導致崩潰而非繼續執行
在將條件跳轉 NOP 掉之前,完整追蹤「已偵測」分支。如果該分支初始化或釋放了後續需要的堆積狀態,修補跳轉會跳過該設定並破壞狀態。請改為將比較運算元修補為預期的「乾淨」值,或使用 x64dbg 的「將條件設為永遠為假」於中斷點,而非修改位元組。
相關技能
binary-analysis-patterns— ELF/PE/Mach-O 的靜態與動態分析工作流程memory-forensics— 程序記憶體擷取、工件提取與即時分析protocol-reverse-engineering— 解碼自訂二進位協定與加密網路流量






