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

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


用urtaledit 打开导出的IL代码,搜索方法名,找到对应的代码行,对IL代码进行修改,修改后保存:
比如对关键对码进行注释(如下图,基注释代码和C#相同,都是双斜杠):

IL常用语法:
Ldc.i4.0 把数字0,push到栈 Ceq 相等判断 nop 空行
ldloc.0将索引0处的变量加载到栈中
Ldloc.S 将指定索引的变量加载到栈,格式为变量声明的短格式

Brtrue.s 条件为真时,跳转到指定行,后接行标 br 无条件跳转
Box 装箱 unbox 拆箱 pop 出栈 stloc.s 为指定索引的变量赋值,接短格式
用ilasm对il代码进行重新编译,得到修改后的DLL,要根据目标平台,选择正确的ilasm版本
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ilasm.exe /dll/resource=*res *.il

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




