EcE应用实例-脱壳篇

E-Code Explorer(EcE)的新版本终于赶在年前完成了,感谢支持偶的兄弟,没有你们的帮助和支持,EcE早就停止开发了。偶要在这新年之际向你们说一声:“多谢”。本来计划中的易语言反编译功能没有在这个版本中加入,因为着手后才发现工作量比原先的预计要大得多(幸而偶从来没有许诺过要在哪一个EcE版本中加入这个功能,嘿嘿,怎么听起来像是前年在谈论DOOM3~~~~~~~)。如果顺利的话,希望能在后两个版本内初步完成这个东东,呵呵  ……

说了这么多废话了,该进入正题了,免得浪费大家大年夜的时间来看偶的废话连篇。偶以前写过一篇关于易语言生成的程序脱壳的文章(拙作见http://monkeycz.blogbus.com,《易格式可执行文件脱壳方法一则》)。文章里面用到的一个主要工具就是偶的拙作EcE。当时的EcE还是0.54版,刚完成不久,所以使用起来可能还很不顺手,需要很多第三方软件来辅助脱壳。现在这种情况略有了一些改善——就是对付大多数的壳,只需要使用EcE经过几个简单的步骤就可以完成了。其实细心的朋友也许会发现,EcE的最近几次升级的功能多数都是和脱壳相关的,可能是偶脱壳的水平实在是太烂了,所以总想尽快把壳给搞掉。嘿嘿,又扯远了。下面我们就用一个例子来做一下示范。

在EcE0.70版的Example目录下有几个示例文件,其中有一个文件名是“ASProtect加壳后的示例程序.exe”的(下面就把它简称为1.exe),偶们就拿它下手(插播广告:如果您手边还没有最新版本的EcE的话,请到EcE的发布网站http://monkeycz.china3t.com下载。广告完毕。)。虽然偶的ASProtect好久没有升级了,也不比最近的若干猛壳那么生猛,但是只是个例子阿,将就先用吧:)

首先运行1.exe(如果你的机器上没有易语言支持库导致程序错误,请把1.exe复制到Example目录得上级目录,在运行即可),会弹出一个简陋得不能再简陋的界面,毕竟是示例程序,大家不要bs偶阿。不用管它,启动EcE,操刀并肩子上阿。由于1.exe已经被加壳(这不是废话么),所以直接载入分析肯定会报错的(记得有人告诉我说这是个BUG,偶也搞不清楚究竟算不算),所以需要提前设置EcE的分析参数。

在“设置”菜单中选择“分析设置”,“分析对象类型”中选择“其他包含易格式的文件”。这时候就可以启动这次的主角了——易格式捕捉者。这个功能可以从待分析的文件中根据特征码自动找到所有的疑似易格式代码。选择“启动易格式捕捉者”,特征码部分一般不需要修改。这样前期的准备工作就做完了。

下一步选择“文件”-〉“打开文件”,从弹出的“选择打开对象”面板中选择“进程中的程序”,我们就可以看到进程列表了。从中找到刚才我们运行的1.exe,选择“载入分析”。

接下来会询问你是否要使用多线程分析,如果你的机器不错的话,就不必选择多线程了,否则会更慢的。如果第一步设置正确的话,这时候你将看到“易格式捕捉者”的窗口出来冒泡了。现在把注意力集中在左边的疑似基址列表中,如果列出了疑似地址,基本上已经成功了一半。如果提示没有捕捉到易格式,也不要灰心,偶会建议你手脱的,毕竟手脱才是高手之道:)

从疑似列表中选择一项载入分析,如果有多个疑似地址的话,一般很可能第一个就是。在这个例子中,只会出现一个地址,不用犹豫直接载入好了。经过一段时间的等待(视机器的配置而定),如果EcE的信息栏中提示成功,就可以进入下一步了。

这时候偶们已经把易格式从乌龟壳中提取出来了,但是还有很关键的一步需要做,否则dump出来的程序也是无法运行的,这就是重定位修复。为什么要进行这一步,偶在《易格式可执行文件脱壳方法一则》中已经基本上说明白了,这里就不赘述了。先把易格式保存到磁盘上,“工具”-〉“导出易格式原体”,起个名字保存,这里用的是1.ecf。

下面我们需要再设置一次EcE。“设置”-〉“分析设置”中,先关闭掉“易格式捕捉者”,“分析对象类型”选择“易格式原体”。然后偶们就可以载入刚才dump出的那个易格式原体文件1.ecf了。“文件”-〉“打开文件”-〉“磁盘中的程序”,找到1.ecf载入。下面开始修复重定位信息。“工具”-〉“易格式从定位信息修复”,这个时候会询问重定位的基址,这个需要根据载入的疑似地址+PE的ImageBase来确定,不过一般上面默认的地址就可以,不需要自己修改。确认后,等(还是和机器的配置有关),最后应该会提示你“修复成功”。

现在的dump出易格式已经算是正常了,不过单独的易格式原体还不能运行,偶们需要给他找一个新骨骼(每当这个时候,偶总想到《忍者神龟》中的史莱德,真像~~~~~~~~~~~~)。先“文件”-〉“关闭文件”(不是映射阿)。“工具”-〉“易格式植入PE骨骼”,选择修复好重定位信息的1.ecf,然后输入保存到的文件名,这里偶用的是1.exe。确认后,稍等片刻(偶们有充足的理由等待,因为马上就要完成了,等吧~~~~~~~~),就弹出来了令人振奋的“已经将易格式原体植入PE骨骼中”。

好了,到此为止基本上偶们的脱壳大业已经完成,当然不要高兴得太早,还有最最重要的一步没有做呢——去测试一下脱壳后的程序是否运行正常吧。如果不出意外的话,偶们就可以躲在屏幕另一边偷偷露出阴险的笑容了,嘿嘿  ……




monkeycz
2005年02月09日02:45(农历新年的第一天阿,就是大年初一啦)




ps:其实这篇文章在大年夜就开始构思了,结果为了看央视春节联欢晚会,只好拖到大年初一的凌晨来完成了。其实偶最pf的节目就是那个“千手观音”的舞蹈,pf那些聋哑人,他们在无声的世界中依然活得很精彩,他们是就是强者(叔本华大叔打起精神来吧,让偶们一起向尼采的“乌云之上的闪电”致敬——人,是应该被超越的!)。这篇文章没有什么技术含量,很抱歉让你花了这么多时间来看这个。如果你发现文章中有什么错误或者有好的建议,请与我联系:coffin13@183.ha.cn。不敬之处望高手谅解。