暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

修改dll

不想做程序员 2017-10-29
1574

先用反编译工具,查看DLL原始代码,并找到对应的方法体


 

 

 

 

再用virtual studio自带的ildasm,把DLL导出为IL代码:共导出两个文件,一个后缀为res的资源文件和一个后缀为il的代码文件



 

 

 

urtaledit 打开导出的IL代码,搜索方法名,找到对应的代码行,对IL代码进行修改,修改后保存:

比如对关键对码进行注释(如下图,基注释代码和C#相同,都是双斜杠):


IL常用语法:

Ldc.i4.0  把数字0push到栈              Ceq  相等判断            nop  空行               

ldloc.0将索引0处的变量加载到栈中     

Ldloc.S   将指定索引的变量加载到栈,格式为变量声明的短格式


 

Brtrue.s  条件为真时,跳转到指定行,后接行标        br 无条件跳转

Box  装箱        unbox 拆箱       pop 出栈            stloc.s 为指定索引的变量赋值,接短格式

 

 

用ilasmil代码进行重新编译,得到修改后的DLL,要根据目标平台,选择正确的ilasm版本

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ilasm.exe /dll/resource=*res *.il


 


 


文章转载自不想做程序员,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论