学破解论坛

 ★找回密码★
 ★免费注册★

QQ登录

绑定QQ,免密登录

查看: 3550|回复: 118

[原创逆向图文] 探讨DLL脱壳

  [复制链接] |关注本帖

  离线 

签到天数: 359

该用户今日未签到

马上注册,深入学习!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
无聊翻悬赏贴发现有悬赏脱DLL壳的,⊙﹏⊙b汗。其实只是多加了一个重定位表的修复工作。

下面这段话是我从罗云斌的汇编书里面直接复制出来的。在原书PE结构,重定位一节中可以看到原文。

[Asm] 纯文本查看 复制代码
在开始分析重定位表的结构之前需要了解两个问题:第一,对一条指令进行重定位需要
哪些信息;第二,这些信息中哪些应该被保存在重定位表中。下面举例来说明这两个问题。
作为例子,现将 13.4.2 节中的那段代码搬回来:
:00400FFC 0000 ;dwVar 变量
:00401000 55 push ebp
:00401001 8BEC mov ebp, esp
:00401003 83C4FC add esp, FFFFFFFC
:00401006 A1FC0F4000 mov eax, dword ptr [00400FFC]  ;mov eax,dwVar
:0040100B 8B45FC mov eax, dword ptr [ebp-04] ;mov eax,@dwLocal
:0040100E 8B4508 mov eax, dword ptr [ebp+08] ;mov eax,_dwParam
:00401011 C9 leave
:00401012 C20400 ret 0004
:00401015 68D2040000 push 000004D2
:0040101A E8E1FFFFFF call 00401000  ;invoke Proc1,1234
其中地址为 00401006h 处的 mov eax,dword ptr [00400ffc]就是一句需要重定位的指令,
当整个程序的起始地址位于 00400000h 处的时候,这句代码是正确的,假如将它移到
00500000h 处的时候,这句指令必须变成 mov eax,dword ptr [00500ffc]才是正确的。这就意
味着它需要重定位。
让我们看看需要改变的是什么,重定位前的指令机器码是 A1 FC 0F 40 00,而重定位
后将是 A1 FC 0F 50 00,也就是说 00401007h 开始的双字 00400ffch 变成了 00500ffch,改
变的正是起始地址的差值(00500000h-00400000h)=00100000h。
所以,重定位的算法可以描述为:将直接寻址指令中的双字地址加上模块实际装入地址
与模块建议装入地址之差。为了进行这个运算,需要有 3 个数据,首先是需要修正的机器码
地址;其次是模块的建议装入地址;最后是模块的实际装入地址。这就是第一个问题的答案。
在这 3 个数据中,模块的建议装入地址已经在 PE 文件头中定义了,而模块的实际装
入地址是 Windows 装载器确定的,到装载文件的时候自然会知道,所以第二个问题的答案
很简单,那就是应该被保存在重定位表中的仅仅是需要修正的代码的地址。
事实上正是如此,PE 文件的重定位表中保存的就是一大堆需要修正的代码的地址。



我们修复重定位表可以有哪些思路呢?
可以发挥一下脑洞想想,比如找到壳模拟重定位的相关代码,Patch得到一份完整的重定位表。再往前推,还有一种方法是让DLL加载到不同的基址,然后分别DUMP出来,比较一下就能找到要修复的地址。

以UPX为例,演示一下第一种方法。第二种方法就没什么好讲的了(

工具有OllyDbg,内存管理插件,ILLY插件,UPX壳,Reloc Fix(主题需要审核,我发帖的时候还没审核通过,点开我个人资料在主题里面找一下吧)
游客,以下内容已经设置隐藏,如果您要查看本帖隐藏内容请回复本主题(记得评分谢谢楼主呦,评分不扣你的分)


评分

参与人数 11威望 +1 HB +52 THX +11 收起 理由
方长 + 1 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
幽灵and九幽 + 3 + 1 能不能把OD或者插件打包一下
轮回v + 6 + 1 感谢分享干货 真正的技术贴咋评分这么少
tony2526 + 1 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
1106541927 + 2 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
DDK4282 + 3 + 1 [快捷评语] - 评分=充满爱,感谢您的作品!
a1078622049 + 2 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
皆笑谈 + 1 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
影风 + 2 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
syzh802618 + 1 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
Shark恒 + 1 + 30 + 1 [快捷评语] - 悬赏杀手主题,额外增加10HB,感谢热心解答!

还有更多人参与评分,点击查看全部!

学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 683

今日第230个签到

沉舟童鞋,这个悬赏链接是什么,如果方便的话,写在主题前面,方便大家学习。
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 602

今日第105个签到

感谢楼主分享!
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 71

该用户今日未签到

感谢楼主分享!
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 243

今日第202个签到

感谢楼主分享!
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 8

该用户今日未签到

感谢楼主的教程带走去学习一下
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 7

该用户今日未签到

学习学洗dll
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 455

该用户今日未签到

来看看是什么东西
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 404

该用户今日未签到

对dll很懵逼
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

  离线 

签到天数: 138

该用户今日未签到

感谢楼主分享!
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明

本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者其他任何非法用途!否则,一切后果请用户自负!

站长邮箱:SharkHeng#iCloud.com


站长微信号:SharkHeng|联系Email|鲨鱼逆向|手机版|小黑屋|FAQ|VIP破解教程|学破解论坛 ( 京公网安备 11011502002737号 | 京ICP备14042738号 ) 

GMT+8, 2018-12-17 22:11

快速回复 返回顶部 返回列表