频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

一步一步教你加密解密技术——压缩与脱壳(4)(4)

作者: 出处:看雪  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2006-10-30 17:38
关 键 词:加密  解密  crack  破解
阅读提示:第五节 脱壳高级篇 有很多介绍PE文件的文章,但是我打算写一篇关于输入表的文章,因为它对于破解很有用。

 4.1、Import REConstructor使用

Import REConstructor可以从杂乱的IAT中重建一个新的Import表(例如加壳软件等),它可以重建Import表的描述符、IAT和所有的ASCII函数名。用它配合手动脱壳,可以脱UPX、CDilla1、PECompact、PKLite32、Shrinker、ASPack, ASProtect等壳。该工具位于:光盘\tools\PE tools\Rebuilders\Import REConstructor。
在运行Import REConstructor之前,必须满足如下条件:
1) 目标文件己完全被Dump到另一文件;
2) 目标文件必须正在运行中;
3) 事先要找到真正的入口点(OEP);
4) 最好加载IceDump,这样建立的输入表较少存在跨平台的问题。

步骤如下:

(1)找被脱壳的入口点(OEP);
(2)完全Dump目标文件;
(3)运行Import REConstructor和需要脱壳的应用程序;
(4)在Import REConstructor下拉列表框中选择应用程序进程;
(5)在左下角填上应用程序的真正入口点偏移(OEP);
(6)按"IAT AutoSearch"按钮,让其自动检测IAT位置, 出现"Found address which may be in the Original IAT.Try 'Get Import'"对话框,这表示输入的OEP发挥作用了。
(7)按"Get Import"按钮,让其分析IAT结构得到基本信息;
(8)如发现某个DLL显示"valid :NO" ,按"Show Invalids"按钮将分析所有的无效信息,在Imported Function Found栏中点击鼠标右键,选择"Trace Level1 (Disasm)",再按"Show Invalids"按钮。如果成功,可以看到所有的DLL都为"valid:YES"字样;
(9)再次刷新"Show Invalids"按钮查看结果,如仍有无效的地址,继续手动用右键的Level 2或3修复;
(10)如还是出错,可以利用"Invalidate function(s)"、"Delete thunk(s)"、编辑Import表(双击函数)等功能手动修复。
(11)开始修复已脱壳的程序。选择Add new section (缺省是选上的) 来为Dump出来的文件加一个Section(虽然文件比较大,但避免了许多不必要的麻烦) 。
(12)按"Fix Dump"按钮,并选择刚在(2)步Dump出来的文件,在此不必要备份。如修复的文件名是"Dump.exe",它将创建一个"Dump_.exe",此外OEP也被修正。
(13)生成的文件可以跨平台运行。

4.2、ReVirgin 使用指南 (作者:blowfish)

ReVirgin(简称RV)
功能:      重建Import Table;寻找OEP
下载地址:  http://www.woodmann.com/fravia/index.htm
具体地址是:http://www.woodmann.com/fravia/exe/revirgin.zip
一、安装。
1、自动安装:
直接双击*.msi就会自动激活Windows Installer进行安装,这是最省事的办法。如果你的系统太老,可能需要到微软主页上免费下载Windows Installer的包。
2、手动安装:
可以用WinRAR将*.msi解开到某个目录中。然后把tracer.dll、thread.dll拷贝到%SystemRoot%目录下;对于NT/2K/XP系统,把rvtracer.sys拷贝到%SystemRoot%\system32\drivers目录中。
二、重建IT
1、首先选择被加壳的程序所对应的进程。如果找不到则点击refresh按钮。
2、再找被加壳了的程序的OEP。找OEP的方法主要有:用IceDump的/tracex;用冲击波;手动用debugger跟;利用各种编译器生成的可执行程序的startup code的机器码的pattern来找;利用RV自带的tracer来找。
3、找到OEP之后将其填入RV的相应位置(注意要填VA而不是RVA),然后点击“Fetch IAT”,RV会自动分析出IAT的起始RVA和Length。如果你觉得RV找到的不对,你也可以手动找到这个RVA和Length并填入该位置。
4、然后点击“IAT Resolver”按钮,RV会自动分析,可能要等好几分钟。这时CPU占用率很高,最好不要切换到其它程序。
5、分析完之后会看到一些API函数标记为“redirected/emulated”,此时点击“Resolve again”,大部分函数都可以resolve出来。
6、然后在下拉列表中选择“Show unresolved”,因为此时只关心尚未分析出来的API函数。
在函数列表框中选中一个或多个函数(按住shift可以选多个),然后打开右键菜单。对于每个未分析出来的API函数,你可以试试右键菜单中的“tracer”或“API Emulator”,如果RV能够分析出来,则相应的行会变成“traced”或“emulated”状态,并且Address这一列会指向DLL的地址范围。
一旦变成“traced”或“emulated”状态,则你可以再次点击“resolve again”按钮,这些API函数将会被分析出来。
注:
a、未分析出来的函数很多时,最好不要用右键菜单中的“Trace all”,后果你试试就知道了;
b、右键菜单中的edit是个开关,表示列表中的每列是否可以编辑,此时可以手动输入API函数的相关信息(但这里似乎有bug,因为即使你手动把未分析出来的函数都手动填入了,RV仍说没有全部分析完)。
c、右键菜单中的Tracer功能可能会导致被跟踪的程序出现非法操作,所以最好是随时使用“Save resolved”按钮的功能把阶段性结果存为文本文件,一旦出现非法操作还可以用“Load resolved”功能把以前的结果加载进来继续干活。
7、对所有的API函数重复5、6两步,大部分都可以分析出来。剩下的那些基本上要用debugger来手动分析了。
8、所有的API函数都分析出来之后,就可以生成IT信息,并粘贴到脱壳后的文件中。首先你得确定把生成的IT放在程序的什么位置,一般是放在末尾(此时要添加一个section),但实际上可以放在任何合理的位置。
把存放IT的位置的RVA填入,并点击“generate”按钮。如果选中了“Auto fix sections + IT Paste”,则RV会问你脱壳后的exe文件名并自动把IT粘贴进去(但目前的版本没有帮你修改程序的OEP,你得手动修改粘贴好的程序的OEP),并生成一个BIN文件,这个BIN文件是由IT、IAT、DLL名和函数名组成的,供你手动粘贴用(如果你喜欢手动粘贴的话)。
至此重建IT完毕。
三、其它说明:
1、RV的mangled scheme选项是用来对付那种将多个API重定向到同一个函数的壳的,一般用不上。
2、RV的底部的“Tracer”按钮是用来跟踪程序找OEP的,功能也很强。 只需要指定OEP可能存在于什么范围(给出最小值、最大值),当被跟踪的程序的EIP落在此区间时RV就会停下来。这和利用IceDump的/tracex来找OEP有些相似。
3、API函数列表中的Refs这一列是该函数的引用计数。
4、最好是在OEP处将被加壳的进程suspend,然后用RV。因为某些被ASProtect加壳的程序在进入OEP之后会修改IAT的某些项。


共7页: 上一页 [1] [2] [3] 4 [5] [6] [7] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有