net C#开发的软件,用什么方法防止反编译?

.net是中间语言,刚开始出来的时候,比较流行混淆方式让破解者增加破解难度,但是由于.net写的程序代码是直接交给托管程序去解析的,所以你混淆也没多大意义了,因为你再怎么混淆最终

本文最后更新时间:  2023-02-07 15:02:55

首先模块生成一定要签名保护。我是在程序的启动器部分,登陆验证模块,加了很多混乱的多层跳转迷惑代码。然后用RedGate的混淆器(需要用到混淆对象的签名),变量名用非打印字符,开启字符串加密,流程混淆,IL代码保护。 混淆后再用ILSpy和JB的反编译器测试,登录部分无法反编译出来,其他部分变量名不可读,字符串都加密了,达到了预期的目标。 最近两年没太关注代码保护这方面,这个需要经验,总之就是混淆工具配合反编译工具,慢慢调试,如果能反编译出来就改关键代码,多加一些深层迷惑跳转。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。