FreeObfuscator.NET protection

.NET · C# · DLL · EXE

.NET 反混淆:哪些能还原,哪些不能

常见的 .NET 反混淆工具有哪些,以及方法虚拟化为何会限制还原效果。

打开混淆工具

文件上传、账户和付款流程目前使用英文界面。

反混淆工具尝试撤销混淆转换。.NET 有 de4dot、dnSpy、ILSpy 等公开工具,但它们无法找回已经丢失的名称,目前也没有针对方法虚拟化的公开 de4dot 预设。

FreeObfuscator 不提供反混淆服务。若要找回自己项目的代码,请保留源代码和重命名映射文件;只有映射文件能可靠地还原各版本的错误堆栈。

混淆与验证步骤

  1. 以 Release 配置编译项目,保留原始程序集、调试符号和配置文件作为对照。
  2. 上传含托管代码的 .NET DLL 或 EXE。请使用未签名构建,不要上传私钥。
  3. 下载结果,在测试环境替换程序集,运行与混淆前相同的功能测试,再决定是否发布。

免费版包含什么

免费版无需注册,支持一个不超过 1 MB 的文件。符号重命名会降低内部名称的可读性;Block ILDasm 主要针对旧版反汇编工具,不能阻止所有反编译器。Pro 提供字符串加密、控制流混淆等选项。具体额度和当前价格请查看套餐页。

Free / Pro →

怎样证明混淆有效

用 ILSpy 对比原文件和输出文件,检查内部类型、方法名称是否改变;启用字符串加密时,再检查相应字符串。随后实际运行程序,比较输出和关键业务行为。能够加载程序集不等于所有代码路径都正确。混淆提高的是分析成本,不能让客户端内置的密钥变得安全。

ILSpy · .NET →

相关指南