用Dotfuscator 混淆asp.net程序实践心得

引入:修改的程序需要重新混淆,但是不小心将原有的混淆配置覆盖了,结果混淆出来的程序总是报"Could not load type 'XXX"的错误,开始还以为是程序的问题,经过对比才发现是混淆的问题,于是乎用了整整一天的功夫反复试验Dotfuscator 混淆asp.net程序的方法,下面把实践情况总结如下:

英语水平有限,翻译不当之处在所难免,欢迎批评指正,知道的一定要告诉我,谢谢了!

1、建立项目后,输入(input)实例,Libray不要选,否则的话,几乎所有的公共函数变量,不会被加密和混淆,可以很容易的看到代码



2、重命名(Rename)的设置

在重命名处理中,所有的必须显性使用的类名、函数、变量、变量都必须进行排除,下面一一说明:

1、网页代码本身的类名,因为网页类名需要在aspx中显性引用所以不能加密

2、需要在aspx文件中以<%=get_aa()>形式调用的函数名

3、需要在aspx文件中以<%=value>形式调用的变量名

见左边对应

在Rename中吧这两项上可以增强对字符的反追踪

3、字符加密的设置:直接全选


4、最后看看选项(option)选项卡的设置,下面这段文字来自微软,特此鸣谢。

使用此选项卡可以设置项目的全局选项。还可以在此选项卡上有选择地启用或禁用 Dotfuscator 的功能,例如重命名。下面总结了您可以设置的选项:
禁用 [功能]。Dotfuscator 可以启用或禁用它的每一个转换。
生成进度。此选项控制在生成期间 Dotfuscator 输出的详细程度。
仅做调查。此选项指示 Dotfuscator 生成报告但是不生成输出程序集。

a


  这里有一篇其他网友写的<<C#使用Dotfuscator混淆代码的加密方法>>,可以参考阅读。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
.NET代码混淆是一种保护代码的技术,它能够使代码难以被反编译或者逆向工程攻击者分析。本文将介绍.NET代码混淆实践,包括如何选择混淆器、如何配置混淆选项、如何处理混淆后的代码等。 ## 选择混淆器 .NET代码混淆器有很多种,常见的包括Dotfuscator、Eazfuscator.NET、CodeFort、SmartAssembly等。在选择混淆器时,需要考虑以下因素: - 混淆器的稳定性和可靠性; - 混淆器的安全性,即是否会泄露敏感信息; - 混淆器的性能,即混淆时间和代码运行性能的影响; - 混淆器所提供的混淆选项和功能; - 混淆器的价格和许可证限制等。 一般来说,商业混淆器提供的混淆选项和功能更加丰富,而免费混淆器则相对简单。如果需要使用商业混淆器,可以在官方网站上下载试用版进行测试,以确定是否符合需求。 ## 配置混淆选项 混淆器提供了丰富的混淆选项和配置项,需要根据具体需求进行选择和配置。常见的混淆选项包括: - 重命名:将代码中的类、方法、字段、属性等标识符进行随机重命名,增加反编译和逆向工程攻击者的难度; - 混淆控制流:通过插入无用代码、交换代码块、使用goto语句等方式,使代码的控制流变得难以理解,增加攻击者的难度; - 字符串加密:将代码中的字符串进行加密,避免明文字符串被攻击者直接获取; - 资源加密:将代码中的资源文件进行加密,避免明文资源文件被攻击者直接获取; - 防调试:通过检测调试器状态、修改IL代码等方式,防止被调试和破解; - 异常处理:通过修改异常处理代码,使得反编译和逆向工程攻击者难以理解代码的异常处理逻辑。 需要注意的是,混淆器提供的混淆选项可能会影响代码的运行性能和稳定性,需要进行适当的测试和调整。 ## 处理混淆后的代码 混淆器处理完代码后,会生成一份混淆后的程序集文件,需要进行一些处理才能使用。常见的处理方式包括: - 反混淆:如果需要对混淆后的代码进行调试和修改,可以使用反混淆工具将代码还原成原始代码; - 引用修复:由于混淆器可能会修改代码中的类型和命名空间,因此在使用混淆后的程序集时可能会出现引用丢失的情况,需要使用引用修复工具修复; - 驱动签名:如果使用混淆后的程序集进行驱动开发,需要对程序集进行数字签名,以避免Windows操作系统拒绝加载未签名的驱动程序。 需要注意的是,在处理混淆后的代码时,需要保证处理的工具和方法与混淆器兼容,否则可能会导致代码无法正常运行。 ## 结论 .NET代码混淆是一种保护代码的技术,可以有效地防止反编译和逆向工程攻击。在实践中,需要选择合适的混淆器、配置适当的混淆选项和处理混淆后的代码,才能达到最佳的保护效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值