• 《黑客×档案》2007年第12期摘录:手动脱壳进阶篇

如发现有乱码, 请直接从这里浏览原文
正文摘录:

始学破解之(十五)Feng手动脱壳进阶篇前言上期我已经为大家详细讲解了手动脱壳的全过程,并且为小菜们展示了两种最基本的手动脱壳方法,其中最重要的内容就是“单步跟踪法”与“内存断点法”的基本原理。对于这两种方法的使用步骤一定要牢记,小菜们在课后有没有认真练习呢?因为这两种方法的基础性,其它一些高级的进阶脱壳法大都是这两者的“衍生品”,所以掌握好基础的知识是非常重要的。不过,对于“单步跟踪”和“内存断点”这两种基础的脱壳方法大家也应该看出来了,因为手动工作量非常大,所以整个脱壳的“效率”是非常低的。小菜们在看网上一些脱壳录像的时候,往往会看到高手们潇洒的脱壳操作,不使用任何脱壳工具,仅仅靠一双手和一把破解的利剑“OD”,轻轻一挥,软件的壳就被脱的一干二净。那么究竟这些高手使用了什么独门秘籍,能达到如此的境界呢?下面,我就为小菜们解开这神秘的面纱。第一节:EsP定律脱壳法在高手中使用最广泛、次数最频繁的就是传说中的“EsP定律脱壳法”了。什么是EsP定律呢?说到这个方法的原理那可就相当复杂了,不是一言两语就可以说清楚的,而且还要具备深厚的汇编基础。所以,我们先把详细的原理以及理论暂时放到一边,等小菜们学有所成之时可以去自己研读。今天首要的任务就是教会大家如何使用这个能够独霸一方的“武林秘籍”。我们需要使用以下的工具:侦查软件peid,强力分析软件OllyDbg,经upxAspack加壳处理的小程序各一个。准备工作做好后,脱壳的工作就可以正式开始了。1.小试身手“esp定律VSupx。主角esp定律:传说中极具威力的脱壳方法,但不曾见过其真面目,具体杀伤力如何不得而知。挑战第一关upx壳:系出自名门,经典的加壳软件,在压缩壳中处于元老级地位,不可小窥。介绍完了今天的第一组对战双方,比赛马上就要开始了。究竟esp定律如何把upx斩于马下,继而顺利过关呢?请大家细细看来(以_F脱壳的过程结合标准脱壳的步骤一起说明,以便小菜们复习所学的内容并养成良好的习惯)。第一步:查壳把经过upx加壳处理的小程序拖拽到PEID的主界面上来,从检测结果可以确定.小程序使用upx的壳进行了处理,如图l。固PEiDv0.94文件:f曩口ii=ri面嗣百i谣露.ii一…入口点厢丽萌£矿…口区授文件倩移:面丽甄目r一葺字节撼姥憧息:3m…子系绞…——口阿盯—一囝两坷印可山瓯厘1r幽噼ii韵.8一1.b叠,r酉0i.24-;ioh-i厶lIii一…{鱼睦鱼刚i!塑i亟区叫!垂亟亚]1.:薹王塑l】垂量受I『置于顷部G)盈翻图1第=步:脱竞今天脱壳的主角是“EsP定律”,因此下面就为大家详细介绍EPS定律详细的使用方法。首先使用OD载入小程序,因为程序被加了壳,oD会询问我们是否继续对程序进行分析,此时要注意一定选择“否”。当程序被完全载人后,会中断在以下代码处:厂0040E8C0)0040E8C10040E8C60040E8CC0040E8CD0040E8{30pushadmovesl.00408015leaedi.[esi+FFF:F5FEB]pushediOrebP.FFFFFFFF”sho“0040ESE2J使用单步跟踪的方法按下快捷键F8,这时每按一次快捷键程序就会执行一句代码。此时,我们在使用单步跟踪命令的时候该做什么昵?现在要分散一下注意力了.因为要注意两个地方:第一个就是OD的反汇编窗口,也就是OD最大的窗口·第二个就是位于反汇编窗口右侧的。寄存器’窗口。简单的说,一是要注意程序代码的执行情况,二是要注意寄存器中数值的变化,特别是寄存器窗口中ESP一栏的数值变化。此时可能这一栏中的内容没有特别的地方,但是一定要加倍注意,如图2。继续单步跟踪,对于UPx加壳处理的程序通常只需要按1—2次F8键,不同的系统可能会出现不同的情况,所以要具体问题具体对待。与此同时,一定要阡裟一。邑学黧

阅读此文(图):   在线翻阅