78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

开心.net程序 dll、exe编译和反编译方法

有好多.net程序有加密狗或者有验证,如果exe或dll没有做过特殊处理,开心.net程序其实很简单,不过你要有足够的耐心!

我只做个简单的小例子,给大家一个思路,吼吼~~~~

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 FilesMicrosoft Visual Studio 8SDKv2.0Bin

然后把要查看的 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 开始工作吧

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

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第1张

 

开始开心吧

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

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第2张

这一步要有足够的耐心

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

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第3张

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

 

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第4张 

就转成utf-8格式

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第5张

会生成4个文件 

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第6张

最主要的就是那个il文件

用EmEditor打开 

 

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第7张

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

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第8张

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

.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:WINDOWSMicrosoft.NETFrameworkv2.0.50727>ilasm.exe C:ILaa.il

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第9张

好了看一下生成的exe 吧

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第10张

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

开心.net程序 dll、exe编译和反编译方法  dll exe编译和反编译方法 第11张

好了开心成功!!

ildasm命令:

ildasm “备份文件目录VisualSVN.Core.L.dll” /out=”备份文件目录VisualSVN.Core.L.il”,

ilasm "备份目录VisualSVN.Core.L.il" /output="备份目录VisualSVN.Core.L.dll" /dll

ildasm "D:Program Files (x86)VisualSVNbinVisualSVN.Core.L.dll" /out="D:Program Files (x86)VisualSVNbinbakVisualSVN.Core.L.il"

ilasm "D:Program Files (x86)VisualSVNbinbakVisualSVN.Core.L.il" /output="D:Program Files (x86)VisualSVNbinbakVisualSVN.Core.L.dll" /dll

本文链接:http://78moban.cn/post/14523.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

上一篇:DLL开心步骤

下一篇:OpCodes中文说明

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部