Net Core教程

.NET assembly的修改及混淆

本文主要是介绍.NET assembly的修改及混淆,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 程序集的修改 

对于.net生成的assembly文件(通常为dll或exe),如果是非强名程序集且未被混淆过,在某些场景下需要直接修改的时候,可通过微软自带的ILDASM.exe工具导出成IL文件后直接修改。这种方式的好处是可以直接修改IL,或者替换相应的Resource文件,修改完成后,利用ILASM编译回去。

通常修改IL会有一定的难度,需要掌握MSIL语言基础知识。

这里推荐另外两个工具,重点推荐第二个:

a. .net reflector - 商业用途需要license

b. dnSpy - GPLv3开源协议

对强名程序集,修改后需要私钥(正规途径可能性为零),否则,只能另存为为其它文件。这样以来,将无法替换原程序集文件,无法达到修改的目的。

2. 程序集的混淆 - 防止被修改

通常,出于对程序的保护,除了使用强名程序集外,在发布前对程序集混淆也是对程序的保护。这里推荐的一款开源工具ConfuserEx。

这篇关于.NET assembly的修改及混淆的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!