大家好,又见面了,我是你们的朋友全栈君。
下面是修改IL文件然后重新生成DLL 的步骤,适用于dll文件没有源码,但是需要修改一点点的小改动
问:为啥不直接用dnspy进行修改?
答:我这边需要修改.net2.0上编译的一个库,用dnspy反编译后修改了代码,运行反倒有问题,因此怀疑通过dnspy修改库最后的编译环境和原有库的编译环境不一致,考虑到dnspy自身需要.net4.0以上环境才能运行,所以这里采用修改IL文件的方法
-
微软的工具ildasm.exe:这个是把DLL生成IL文件的一个软件,是微软自带了;安装不同的.net环境会有不同的版本,win10一般自带.net4.6版本,主要注意的是win10 安装.net2.0 和.net3.0 费劲,这两个版本的可以找个win7的虚拟机安装后查找
-
微软的工具ilasm.exe:这个是把IL文件重新生成DLL的功能;
-
利用dnspy 反编译看看dll的原代码是什么.net版本,也可以利用它进行源码分析,定位到要修改的位置
-
根据原dll的版本选择相应的ildasm.exe 和 ilasm.exe 工具,
ildasm的使用
ilasm.exe的使用
先浏览到IL文件路径下,在cmd里输入下面命令ilasm[或者为ilasm.exe的绝对路径] test.il /dll /resource:test.res /output:test.dll
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/128695.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...