boreltaf/string-deobfuscator

GitHub: boreltaf/string-deobfuscator

一款基于 Capstone 反汇编引擎的逆向分析工具,专门检测和还原恶意软件通过运行时栈上动态构建来隐藏的字符串。

Stars: 0 | Forks: 0

# 字符串去混淆器 **主题:** 逆向工程与对手技术 用于检测在 **运行时于栈上构建** 的字符串——这是恶意软件常用的反分析技术,旨在对 `strings` 实用工具隐藏 C2 URL、命令和配置数据。 ## 工作原理 恶意软件经常使用连续的 `mov byte [rbp-N], 'X'` 指令逐字符构建字符串。由于该字符串 在 `.rodata` 中从不作为连续字面量存在,`strings` 命令什么也 看不到。 此工具使用 Capstone 反汇编 `.text` 段,并识别 三种模式: | 模式 | 技术 | 示例 | |---------|-----------|---------| | byte-write | 连续字节存储 | `mov byte [rbp-0x30], 'h'` … `mov byte [rbp-0x2f], 't'` | | dword-write | 多字节立即数 | `mov dword [rbp-0x30], 0x70747468` → "http" | | movabs-store | 64 位加载后存储 | `movabs rax, 0x…` ; `mov [rbp-0x28], rax` | ## 环境要求 - Python 3.8+ - Capstone:`pip install capstone` 就这些——零其他依赖。 ## 快速开始 ``` # 安装这一个 dependency pip install capstone # 构建 test binary gcc -O0 -fno-builtin -o test_binary test_stack_strings.c # 证明 `strings` 会遗漏隐藏数据 strings test_binary | grep -E "(evil|Mozilla|/bin/sh)" # → (无输出!) # 运行 deobfuscator python3 string_deobfuscator.py test_binary # → 发现: https://evil-c2.com:8443/api # Mozilla/5.0 (Windows NT 10.0) # /bin/sh # @reboot /tmp/updater ```
标签:Capstone, DAST, DNS 反向解析, 云资产清单, 反混淆, 字符串混淆, 恶意软件分析, 系统运维工具, 逆向工具, 逆向工程