mrT4ntr4/MODeflattener

GitHub: mrT4ntr4/MODeflattener

基于Miasm框架的OLLVM控制流扁平化反混淆工具,可将混淆后的状态机式控制流还原为可读结构。

Stars: 203 | Forks: 26

# MODeflattener ***Miasm 的 Ollvm 反混淆器 (Deflattener)*** 混淆后的控制流 | 反混淆后的控制流 :-------------------------:|:-------------------------: ![obfuscated](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/289e65fbf8121847.png) | ![deobfuscated](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/45cde3cd5a121848.png) ## 安装说明 ``` git clone https://github.com/mrT4ntr4/MODeflattener.git cd MODeflattener pip3 install -r requirements.txt ``` ## 使用说明 ``` └──╼ $python3 modeflattener.py -h usage: modeflattener [-h] [-a] [-l LOG] filename patch_filename address positional arguments: filename file to deobfuscate patch_filename deobfuscated file name address obfuscated function address optional arguments: -h, --help show this help message and exit -a, --all find functions recursively and deobfuscate if flattened -l LOG, --log LOG logging level (default=INFO) ``` ### 支持的架构 - *x86* ### 额外功能 - [Tim Blazytko 的控制流扁平化启发式脚本](https://gist.github.com/mrphrazer/da32217f231e1dd842986f94aa6d9d37) 在对指定函数进行反汇编时,我们可以关注它使用的其他函数,并利用此脚本自动检测其是否经过控制流扁平化处理,进而尝试进行反混淆。此功能已集成到该工具中! - [nop-hider idapython 脚本](https://gist.github.com/JusticeRage/795badf81fe59454963a06070d132b06) 该脚本用于在 IDA 图形视图中隐藏 nop 指令,因为在反混淆后,主干代码会被转换为一长串 nop 链。 # 参考文献 [Dissecting LLVM Obfuscator - RPISEC](https://rpis.ec/blog/dissection-llvm-obfuscator-p1/) [Automated Detection of Control-flow Flattening - Tim Blazytko](https://synthesis.to/2021/03/03/flattening_detection.html)
标签:Deflattening, IDA插件, Miasm, OLLVM, Python, TLS抓取, x86架构, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 代码反混淆, 动态二进制插桩, 去混淆, 恶意代码分析, 控制流平坦化, 控制流还原, 无后门, 编译器混淆, 软件安全, 逆向工具, 逆向工程, 配置文件, 静态分析