你也没有理由不对他们的辛勤劳动和无私奉献作出回应。如果你是美女,就给他们一个嫣然一
笑百魅生,破文不精死不休。
第二章IDA的优缺点
我的文章拖了这么久,就是没有一个合适的CRACKME例子。反正我浏览了整个CRACKME论
坛的文章,就是没看到我满意的。另一个原因就是我要在网上上万篇的破文中筛选出我
需要的文章,这个工作量无疑是巨大而枯燥的。在为MM的系列服务中,我破解到了这个软件,
才有了这篇文章的完成。
下面我就以这个简单的软件Pic2Ico2.1为例,对算法分析的三个基本问题进行具体的阐述。
一个系统的逆向工程应该是动态调试和静态汇编的完美结合。本文就以OD和IDA两个代表工具
来进行解说。随着OD的横空出世,静态汇编软件已经被业余破解爱好者忽略了。IDA却因使用
的复杂和对计算机系统性能的高要求,而令业余破解爱好者望而生畏。
IDA的字符串查找不受区块的限制。IDA对系统的配置越来越高,但它强大的分析能力又吸
引着众多破解爱好者。其中最常用的就是流程图功能。去年底又公开了一种伪代码的插件,
吸引了众多破解高手转学C语言。这么多的优点,铸就了IDA的破解霸主地位。
IDA一出,谁与争锋?
我也是只知道点常识性的IDA知识。满瓶的不说,我这半调子就献丑了。希望仙剑奇侠们
对IDA的插件编写等关键功能多多指教,增加我的感性认识。
第三章脱壳的感性认识
首先,用PEID得知有壳:ASPack2.001->AlexeySolodovnikov。这是个很简单的壳。
脱壳不是本文的重点,因此只进行简要的说明。脱壳其实是对关键的执行代码的解密过程,脱壳
要具备的基本知识有:
1.程序的流程结构。
2.PE文件结构。
3.脱壳的基本常识。F7和F8的运用、花指令、SEH知识等。
确定OEP入口点的常规标准是:虚拟地址的数值突变。即通常说的一个大的跨段跳转。学
过脱壳的人都知道这个标准。但这个标准的理论依据是什么?相信有不少人会被初学者问住了。
绝大多数PE加壳程序在被加密的程序中加上一个或多个块(段),因此根据跨段的转移指
令(JMP)就能找到入口点。现在这常规标准在许多猛壳中并不适用。根据上述的原理,我
们可以大致猜想出猛壳是如何弱化OEP入口点的常规标准的。
详细的叙述见《加密和解密II》P370。
在OD中脱壳的简要步骤:
00656001>60pushad
00656002E872050000call00656579
00656007EB4Cjmpshort00656055
单步F8到00656055,命令行中输入:hresp。运行F9,停在:
006564F4/7508jnzshort006564FE
006564F6|B801000000moveax,1
006564FB|C20C00retn0C
006564FE\6818164000push00401618
00656503C3retn
命令行中输入:hd。删除硬件断点。单步运行过00656503,就来到入口点处:
00401618/EB10jmpshort0040162A
运用ollydump插件,选方式一,很容易脱掉。
第四章静态脱壳--IDA操作入门
接下来,我们要换用IDA来静态脱壳。文件->新建:
[ATTACH]?attachmentid=13758&stc=1&d=1209685245[/ATTACH]
选择要静态分析的文件:
注意右上角的红圆点,有三种颜色的变化,含义(根据英文翻译):
绿色:预备。
:思考。
红色:关键。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-32335-3.html
撞死他
>你敢怎么着