1. 程序集的修改
对于.net生成的assembly文件(通常为dll或exe),如果是非强名程序集且未被混淆过,在某些场景下需要直接修改的时候,可通过微软自带的ILDASM.exe工具导出成IL文件后直接修改。这种方式的好处是可以直接修改IL,或者替换相应的Resource文件,修改完成后,利用ILASM编译回去。
通常修改IL会有一定的难度,需要掌握MSIL语言基础知识。
这里推荐另外两个工具,重点推荐第二个:
a. .net reflector - 商业用途需要license
b. dnSpy - GPLv3开源协议
对强名程序集,修改后需要私钥(正规途径可能性为零),否则,只能另存为为其它文件。这样以来,将无法替换原程序集文件,无法达到修改的目的。
2. 程序集的混淆 - 防止被修改
通常,出于对程序的保护,除了使用强名程序集外,在发布前对程序集混淆也是对程序的保护。这里推荐的一款开源工具ConfuserEx。