.net程序(dll文件)编译和反编译方法
我只做个简单的小例子,给大家一个思路,吼吼~~~~
1使用工具
Reflector.exe 用来查看.net代码 这个就不用多说了它是学.net必备神器
Ildasm.exe:用来将dll,exe编译为IL文件
ilasm.exe:用来将IL文件编译回来dll或exe
EmEditor文本处理工具这个大家如果没有我这有下载里面有注册码EmEditor.rar
2Ildasm和ilasm基本知识:
ilasm.exe与ildasm.exe的使用
首先打开cmd命令。cd 到 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin
然后把要查看的 dll文件或者exe文件拉进来这里面(因为我们是要用命令,你直接打开ildasm.exe也可以找到各目录打开)
比如 text.dll (里面有console.writeline("hello word"))
ildasm text.dll 打开dll 找到方法可以查看
ildasm text.dll /output:text.il 按回车就编译好一个il文件(可用记事本打开并且编辑hello word保存)
然后用ilasm工具反汇编成 dll或者exe 文件
ilasm text 按回车自动查找text4.il 文件并且编译成 text4.exe
或 ildasm text /dll 可以编译成 text.dll 文件(记得先删除原来的text4.dll)
3 开始工作吧
用reflector打开我们的程序,开始分析哪里有验证

这一步要有足够的耐心
找到了一个方法是没有加密狗就退出的程序方法

现在用Ildasm.exe打开我们的程序,把程序倒出成IL文件

就转成utf-8格式

会生成4个文件

最主要的就是那个il文件
用EmEditor打开

找到我们要修改的方法SetDoLock()

这我这个例子里我把它们删除直接改成
.method public hidebysig instance void void SetDoLock() cil managed { // 代码大小 103 (0x67) .maxstack 5 IL_0000: ret } // end of method Login::SetTextBox保存
现在就用到 ilasm.exe 出场了 用来将IL文件编译回来dll或exe
上边已经有用它的方法了我也就不多说了
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>ilasm.exe C:\IL\aa.il

好了看一下生成的exe 吧

把生成的exe放回到原来的程序里去运行一下
作者:bluejance 出处:http://www.cnblogs.com/li-peng/
相关文章
PHP pthreads v3下的Volatile简介与使用方法示例
这篇文章主要介绍了PHP pthreads v3下的Volatile简介与使用方法,结合实例形式较为详细的分析了PHP pthreads v3下Volatile的功能、原理、使用方法及相关操作注意事项,需要的朋友可以参考下2020-02-02
完美解决php 导出excle的.csv格式的数据时乱码问题
下面小编就为大家带来一篇完美解决php 导出excle的.csv格式的数据时乱码问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-02-02
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
这篇文章主要介绍了PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法,实例分析了strncmp()函数的功能,参数用法与使用技巧,需要的朋友可以参考下2016-01-01


最新评论