huankfy

明月出天山,苍茫云海间

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1. 程序集的修改 

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

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

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

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

b. dnSpy - GPLv3开源协议

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

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

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

posted on 2022-03-03 19:48  Yanbo.Hu  阅读(170)  评论(0编辑  收藏  举报