当前位置:首页 > 青鸟知识 > net

如何破解.net程序并进行编译和反编译

来源:长沙it培训 发布日期:2017-03-22

  不难发现较多的.net程序有加密狗或有验证,若exe或dll没有做过特殊处理,如果有足够的耐心破解.net程序其实很简单。那么如何操作了?

  1使用工具

  Reflector.exe 用来查看.net代码 这个就不用多说了它是学.net必备神器

  Ildasm.exe:用来将dll,exe编译为IL文件

  ilasm.exe:用来将IL文件编译回来dll或exe

  EmEditor文本处理工具

  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 开始操作吧

  现有我有一个有加密码狗的程序进不去

加密狗权限.jpg

  下面就让我们开始破解吧

  用reflector打开我们的程序,开始分析哪里有验证

reflector打开程序.jpg

  操作这一步要有足够的耐心。

  找到了一个方法是没有加密狗就退出的程序方法

  .NET Reflector 7.3.0.18

.NET Reflector 7.3.0.18.jpg

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

实现工作流.jpg

  

  就转成utf-8格式

  转储选项:

转储选项.jpg

  会生成4个文件

exe.png

  最主要的就是那个il文件

  用EmEditor打开

  EMEditor.jpg

  找到我们要修改的方法SetTextBox(string str)

代码.png

  这我这个例子里我把它们删除直接改成

  1. .method public hidebysig instance void

  2. SetTextBox(string str) cil managed

  3. {

  4. // 代码大小 103 (0x67)

  5. .maxstack 5

  6.

  7. IL_0000: ret

  8. } // end of method Login::SetTextBox

  保存

  现在就用到 ilasm.exe 出场了 用来将IL文件编译回来dll或exe

  上边已经有用它的方法了我也就不多说了

  1. C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>ilasm.exe C:\IL\aa.il

文件存储位置.png

  好了看一下生成的exe 吧

exe.png

  把生成的exe放回到原来的程序里去运行一下

破解成功.jpg

  OK,破解成功!


拒绝套路 试听有礼

数据已加密保证您的信息安全