几种工具反编译被编译好的DLL文件

我们平时在工作中经常会遇到一些已经被编译后的DLL,而且更加麻烦是没有源代码可以进行修改,只能针对这个DLL的文件进行修改才能得到我们想要的结果;本文将通过一个实例来演示如果完成一个简单的修改;我们将会用到以下几种工具;

1:反编译工具ILSpy.exe:是个很不错的反编译软件,而且是免费了;

2:微软的工具ildasm.exe:这个是把DLL生成IL文件的一个软件,是微软自带了;可以在C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin找到该软件;

3:微机的工具ilasm.exe:这个是把IL文件重新生成DLL的功能,可以在C:\Windows\Microsoft.NET\Framework\v4.0.30319找到该软件;

我们新建一个WEB项目,模拟它要插入加密狗才能运行,当然这边的加密狗是我们的一个比喻,实例很简单七个步骤就可以完在;

 

.net程序反编译工具(ILSpy)
5.3
类别: 安装制作    大小:1.7M    语言: 英文 
查看详细信息 >>
 

 

 

步骤一:使用ILSpy.exe打开Web.dll文件;查看其源代码的情况:

从上面反编译出来的源代码不难发现重点是在GetLicense()方法,这个也是我们要修改的内容,从上面可以看出在没有修改前这个都是会提示要插入加密狗的;

步骤二:接下来就是要使用ildasm.exe把DLL这个文件转化成IL文件;

把dll文件转储为*.il文件存到某个指定文件夹里,得到Web.il和Web.res两个文件,有时也会有*.resource文件

步骤三:我们可以打开Web.il文件,里面有DLL生成的IL内容,我们很容易就可以定位到想要的这个方法,只要让它固定返回true就可以达到修改成功,方法内的IL代码就是我们要修改的内容;

步骤四:修改GetLicense()方法内的IL代码,让它固定返回true;下面这个IL就是让它返回为true;修改完接着保存IL文件;

步骤五:当修改完IL文件后要把它转化成DLL文件,打开DOC命令输入进入到*.il的文件夹,然后输入命令:c:\windows\microsoft.net\framework\v4.0.30319\ilasm.exe /dll/resource=Web.res Web.il

*1:要进入IL文件的文件夹 2:其中"/dll/"这个前面要有一个空格 3:.res文件要在.il文件前面,中间要有个空格

步骤六:运行完上面的命令后会生成一个新DLL文件,然后把它复制到我们的站点下面:

步骤七:运行的结果:

完成上面的七个步骤就可以成功修改DLL文件,当然本实例只是一个简单的修改,若要进行比较复杂修改IL代码则要对IL知识有个相当的了解;下面是一个可能会经常要用到的IL返回true跟false的代码;

    .maxstack 1
    .locals init (
        [0] bool CS$1$0000)
    L_0000: nop 
    L_0001: ldc.i4.1 
    L_0002: stloc.0 
    L_0003: br.s L_0005
    L_0005: ldloc.0 
    L_0006: ret

return true;

    // 代码大小       7 (0x7)
    .maxstack  1
    .locals init ([0] bool CS$1$0000)
    IL_0000:  nop
    IL_0001:  ldc.i4.0
    IL_0002:  stloc.0
    IL_0003:  br.s       IL_0005

    IL_0005:  ldloc.0
    IL_0006:  ret

return false;

转载于:https://www.cnblogs.com/TBW-Superhero/p/5639984.html

  • 2
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
脱壳 步骤 脱壳步骤 壳的概念: 所谓“壳”就是专门压缩的工具。 这里的压缩并不是我们平时使用的RAR、ZIP这些工具的压缩,壳的压缩指的是针对exe、com、和dll等程序文件进行压缩,在程序中加入一段如同保护层的代码,使原程序文件代码失去本来面目,从而保护程序不被非法修改和反编译,这段如同保护层的代码,与自然界动植物的壳在功能上有很多相似的地方,所以我们就形象地称之为程序的壳。 壳的作用: 1.保护程序不被非法修改和反编译。 2.对程序专门进行压缩,以减小文件大小,方便传播和储存。 壳和压缩软件的压缩的区别是 压缩软件只能够压缩程序 而经过壳压缩后的exe、com和dll等程序文件可以跟正常的程序一样运行 下面来介绍一个检测壳的软件 PEID v0.92 这个软件可以检测出 450种壳 新版中增加病毒扫描功能,是目前各类查壳工具中,性能最强的。 另外还可识别出EXE文件是用什么语言编写的VC++、Delphi、VB或Delphi等。 支持文件夹批量扫描 我们用PEID对easymail.exe进行扫描 找到壳的类型了 UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo 说明是UPX的壳 下面进行 步骤2 脱壳 对一个加了壳的程序,去除其中无关的干扰信息和保护限制,把他的壳脱去,解除伪装,还原软件本来的面目。这个过程就叫做脱壳。 脱壳成功的标志 脱壳后的文件正常运行,功能没有损耗。 还有一般脱壳后的文件长度都会大于原文件的长度。 即使同一个文件,采用不同的脱壳软件进行脱壳,由于脱壳软件的机理不通,脱出来的文件大小也不尽相同。 关于脱壳有手动脱壳和自动脱壳 自动脱壳就是用专门的脱壳机脱 很简单 按几下就 OK了 手动脱壳相对自动脱壳 需要的技术含量微高 这里不多说了 UPX是一种很老而且强大的壳 不过它的脱壳机随处就能找到 UPX本身程序就可以通过 UPX 文件名 -d 来解压缩 不过这些需要的 命令符中输入 优点方便快捷 缺点DOS界面 为了让大家省去麻烦的操作 就产生了一种叫 UPX SHELL的外壳软件 UPX SHELL v3.09 UPX 外壳程序! 目的让UPX的脱壳加壳傻瓜化 注:如果程序没有加壳 那么我们就可以省去第二步的脱壳了,直接对软件进行分析了。 脱完后 我们进行 步骤3 运行程序 尝试注册 获取注册相关信息 通过尝试注册 我们发现一个关键的字符串 “序列号输入错误” 步骤4 反汇编 反汇编一般用到的软件 都是 W32Dasm W32dasm对于新手 易于上手 操作简单 W32Dasm有很多版本 这里我推荐使用 W32Dasm 无极版 我们现在反汇编WebEasyMail的程序文件easymail.exe 然后看看能不能找到刚才的字符串 步骤5 通过eXeScope这个软件来查看未能在w32dasm中正确显示的字符串信息 eXeScope v6.50 更改字体,更改菜单,更改对话框的排列,重写可执行文件的资源,包括(EXE,DLL,OCX)等。是方便强大的汉化工具,可以直接修改用 VC++ 及 DELPHI 编制的程序的资源,包括菜单、对话框、字符串表等 新版可以直接查看 加壳文件的资源 我们打开eXeScope 找到如下字串符 122,"序列号输入错误 " 123,"恭喜您成为WebEasyMail正式用户中的一员! " 124,注册成功 125,失败 重点是122 步骤6 再次返回 w32dasm * Possible Reference to String Resource ID=00122: "?鲹e ?" 但是双击后 提示说找不到这个字串符 不是没有 是因为 "?鲹e ?"是乱码 w32dasm对于中文显示不是太好 毕竟不是国产软件 先把今天会用到的汇编基本指令跟大家解释一下 mov a,b ;把b的值赋给a,使a=b call :调用子程序 ,子程序以ret结为 ret :返回主程序 je或jz :若相等则跳转 jne或jnz :若不相等则跳转 push xx:xx 压栈 pop xx:xx 出栈 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 我们搜索 Possible Reference to String Resource ID=00122 因为对E文支持很好 我们来到了 * Referenced by a (U)nconditional or
“CHM 制作精灵”是一款将网页文件(Html文档)转化为CHM文件(已编译的 HTML 帮助文件)和将CHM文件转化为网页文件的软件,即网页“打包”和CHM文件“解包”(CHM文件反编译);是集 HTML Help Workshop工程创建,目录、索引编写,工程编译和CHM文件反编译等多种功能于一身的 CHM电子图书处理软件。与HTML Help Workshop v4.74配合使用制作出来的 Html Help 文档会更见出色。欢迎使用 “CHM 制作精灵”来制作更多 CHM电子图书!!! <br>软件开发背景: <br> 1、CHM文件格式已在网上广为流传,被称为一种电子书籍格式。其特点在于,它的每一个帮助页都是一个Web页,您可以像浏览网站一样容易地阅读 HTML 帮助文件。HTML 帮助文件甚至支持 ActiveX, JavaScrip, VBScrip 和 Dll 等。HTML帮助文件类似资源管理器的窗口的浏览方式,使用极其方便。另外,还具有管理文档方便、容量大、压缩比例高等优点。 <br> 2、目前HTML Help Workshop v4.74是制作chm唯一比较流行的工具,但是,存在着效率低,动作简单重复等缺点;另外,网上也有一些制作chm文档小软件,但是,它们多为共享软件,注册费少则人民币十几元多则上百元,几乎没有免费的,至少我没有找到。 <br> 3、制作一种高效工具让电脑来完成这种简单重复的工作是必要的,从工程文件的结构来看是可读的,所以说制作一种高效工具是可行的。
### 回答1: Dll文件反编译工具易语言是一种功能强大、易于操作的反编译工具,它能够对Windows操作系统中的dll文件进行反汇编和反编译操作,提供源代码和汇编代码供用户参考和修改。 易语言作为一种高级脚本语言,具有操作简便、运行速度快的特点,能够快速实现对dll文件反编译操作,使用户能够深入了解和学习dll文件的内部结构和行为规律。 该工具提供了丰富的功能,包括查看、编辑资源、查看dll文件中的字符串、函数列表、反汇编代码,甚至还能够直接生成反编译后的源代码和可执行文件。 值得一提的是,该工具还内置了mhook组件,可以直接对dll文件进行hook操作,实现对系统API的监视和拦截,是一款非常实用的安全工具。 总之,dll文件反编译工具易语言具有易于操作、功能丰富、高效实用等特点,可以满足用户反编译和研究dll文件的需求。 ### 回答2: dll文件反编译工具易语言是一款面向Windows系统的反编译工具。它可以将已经编译好的dll文件进行反编译操作,以便对这些dll文件进行修改和分析。 易语言是一种基于中文的编程语言,相对于其他编程语言而言,易语言更加容易学习和理解。因此,很多人使用易语言来进行反编译操作。 dll文件反编译工具易语言具有以下几个特点: 1.易于学习和使用。易语言作为一种基于中文的编程语言,它的语言结构简单明了,容易上手。 2.支持多种工程文件格式。不同的编译器生成的dll文件格式可能不同,易语言反编译工具支持多种工程文件格式,可以进行有效的反编译操作。 3.提供了丰富的反编译工具。除了反编译外,易语言反编译工具还可以进行函数跟踪、变量查看、汇编代码分析等多种操作,可以帮助程序员更好地进行修改和分析。 4.支持插件扩展。易语言反编译工具还支持插件扩展,允许用户自定义功能。 总之,dll文件反编译工具易语言是一款功能丰富、易于学习和使用的工具,可以帮助程序员更好地进行反编译操作,并进行程序分析和修改。 ### 回答3: DLL文件反编译工具易语言是一款可用于反汇编Windows操作系统中动态连接库文件(DLL)的工具,它是一种易于学习和使用的编程语言,可以通过这种语言轻松地进行反编译和编码操作。它具有精简的代码、直观的界面和丰富的帮助文档,使得用户能够迅速上手开始使用。 该工具的主要功能是将DLL文件中的机器码源代码反编译回可读性高的汇编代码和C/C++代码,并支持用户在编辑器中进行修改和调试,从而实现对DLL文件的修改和重新编译。这对于开发人员来说是非常有用的,因为它允许他们修改和定制原有的DLL文件,以满足特定的需求。同时,对于恶意分子来说,该工具也可能为他们提供一个有效的手段来对系统进行攻击和破坏。 考虑到这个工具可能对网络安全造成的潜在威胁,用户需要非常警惕并使用该工具进行良好的代码审查和使用,以确保代码的安全性和完整性。此外,对于开发人员而言,应该遵循所有软件开发最佳实践,只对可信来源的代码进行调试和修改,并保持对所有代码和文件的备份和保护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值