工具
de4dot .NET 反混淆与脱壳工具
开源的 .NET 反混淆与脱壳工具,尝试把加壳、混淆过的程序集恢复到接近原始的状态。视混淆器而定,它能以静态或动态方式解密字符串、常量、方法、资源和内嵌程序集,移除代理方法、垃圾类以及防篡改和反调试代码,还原被虚拟化的代码和被打乱的控制流,并把符号重命名为可读名称;也可以只检测程序集使用了哪种混淆器。README 列出 19 种受支持的混淆器和加壳工具,包括 Dotfuscator、.NET Reactor、Eazfuscator.NET 和 SmartAssembly。
- 目标
- 应用
- 类别
- .NET 工具
- 关联
- 基础工具
- 来源复核于
使用条件与局限
- 前提条件:该仓库在 2020-08-29 最后一次提交后已在 GitHub 上归档,没有 GitHub 发布版本;README 指引用户从 CI 构建获取二进制文件。从源码构建可使用 .NET Framework 或 .NET Core 解决方案,并需要 de4dot 用于读写程序集的 dnlib 库。
- 局限:原始符号名通常无法恢复,XAML 也不会被重命名,因此 WPF 或 Silverlight 程序集可能需要加 --dont-rename 参数。README 声明不提供支持,并表示遇到新版混淆器时可能需要自行更新 de4dot。
- 局限:处理部分混淆器以及进行动态字符串解密时,它会把程序集及其依赖加载到内存中执行,因此 README 建议在安全的沙箱环境中处理疑似恶意软件。
- 许可:采用 GPL-3.0 许可(COPYING);dnlib、SharpZipLib、QuickLZ 和 LZMA 等随附库各有其许可证文件。
关于此条目
说明已依据一手来源复核。
一手来源
- README.md GitHub · de4dot/de4dot · 修订 b7d5728
- https://github.com/de4dot/de4dot/tree/b7d5728fc0c82fb0ad758e3a4c0fbb70368a4853
- COPYING GitHub · de4dot/de4dot · 修订 b7d5728