vipyrsec/vipyrsec-deobfuscator

GitHub: vipyrsec/vipyrsec-deobfuscator

一个支持多种 Python 混淆格式的代码去混淆工具,可自动或手动识别混淆类型并还原原始代码。

Stars: 11 | Forks: 3

# vipyrsec-deobfuscator ## 安装 ``` # 不支持 argcomplete pip install git+https://github.com/vipyrsec/vipyrsec-deobfuscator.git # 支持 argcomplete pip install "vipyr-deobf[argcomplete] @ git+https://github.com/vipyrsec/vipyrsec-deobfuscator.git" ``` ## 支持的混淆类型 - Vare - FCT (FreeCodingTools) - BlankOBF v2 - Hyperion(不完整) - PyObfuscate ## 用法 ``` py -m vipyr_deobf mal.py # 或 vipyr-deobf mal.py ``` 默认情况下,去混淆器会“尽最大努力”识别混淆方式。如果无法检测出混淆类型, 可以使用 `-t` 或 `--type` 开关手动指定。 可以提供多种混淆类型和版本,以逗号分隔。例如,`vipyr-deobf mal.py -t foov1,foov2,bar` 将使用 `foo` 的版本 1、2 和 `bar` 的版本 1 来运行去混淆器。 去混淆器还支持使用 `-o` 或 `--output` 开关将输出写入文件。 ## 添加去混淆器 如果你想添加自己的去混淆器,只需在 `deobfuscators` 文件夹中添加一个文件,`vipyr-deobf` 就会自动 检测到它。 格式为 `**/deobfuscators/DeobfName/deobfname.py`。`deobfname` 应等于 `DeobfName` 的全部字母小写 且移除空格的结果,同时也支持在文件名中添加 `_v(version number)` 来表示版本(如果未提供,版本默认为 1)。 例如, ``` Foo/foo_v1.py Eggs Bacon/eggsbacon_v2.py Eggs Bacon/eggsbacon.py ``` 都是有效的,但 ``` Foo/bar.py (different file name) Foo/barv1.py (no _ before v) ``` 则无效。 将代码添加到该文件后,请添加以下几行: ``` from vipyr_deobf.deobf_base import Deobfuscator, register blankobf_v2_deobf = Deobfuscator(deobf, format_results, scan) register(blankobf_v2_deobf) ``` 查看 `Deobfuscator` 类的类型提示,以确定这三个函数 应该是什么样子,并将你的代码包装到这三个函数中。
标签:DAST, DNS 反向解析, Python, 云资产清单, 代码分析, 代码反混淆, 凭证管理, 恶意软件分析, 无后门, 逆向工具, 逆向工程