论彩票快车白金版v90的脱壳+爆破(1)

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

本文只是适合新手手动脱壳的入门和爆破入门,高手们不要笑小弟呀! (可以多多提意见,我是很谦虚的!).

用到的工具:

1.)softice 4.05

2.)icedump v6.0.1.6

3.)filemon v245

4.)peditor v1.7

5.)ImportREC v 1.2beta2

我没有用trw2000,因为这个软件解密时检查Trw2000,我看是因为这软件是中国人写的吧!!(比较了解国情).

一)脱壳部分:

1.)首先我们用filemon来检查文件的类型:

相信大家都会用吧:烤,怎么是petite2.2 ,没搞过呀!!!.别急.

2.)当然是检查程序的pe结构了:

打开peditor,选中程序,用笔记录以下几个数据:

Entry Point:169042.

Image base :400000

size of image:16a000.

3.)寻找入口点(OEP):先运行icedump->再运行softice loader--> 再Ctrl+d

好了准备工作完成了,该选择断点了.一般大家脱壳时用bpx loadlibrarya do "dd esp->4"(经验,好好看看Pe结构并懂一些Win32编程即知)

再Ctrl+d-->再load program.

断了吧这是loadlibrary函数的入口,该函数是Dll中的不用理.

bc *,按F12 n下,注意领空的变化呀!,到了主程序的领空后停下.

当前代码如下:0167:004E7679 JZ 004E76830167:004E767B ADD ESP,2A0167:004E767E JMP 005690150167:004E7683 MOV ESI,000E50000167:004E7688 ADD ESI,EBP0167:004E768A LEA ECX,[EBP+00000800]0167:004E7690 MOV EBX,EAX0167:004E7692 CMP DWORD PTR [ESI],000167:004E7695 JZ 004E78A9 --->注意这是个捷径.0167:004E769B PUSH ECX0167:004E769C PUSH ECX0167:004E769D CALL [EBP+00000790]0167:004E76A3 TEST EAX,EAX ---->注意这是用F12跳到的第一条指令.0167:004E76A5 JZ 004E778A0167:004E76AB MOV EDI,EAX0167:004E76AD ADD EAX,[EAX+3C]0167:004E76B0 MOV EAX,[EAX+78]0167:004E76B3 PUSH DWORD PTR [EDI+EAX+18]0167:004E76B7 MOV ECX,[EDI+EAX+24]0167:004E76BB ADD ECX,EDI0167:004E76BD PUSH ECX------------------------CPKCBJB!.petite+2679----------------

程序第一次来到004e76a3,正常的话用F10开道(用F12就出去了),可是我参考了精华3上的如下文章:

那上说在这时应向上找入口点的捷径.所以我直接用指令g 004e78a9来到:

(当然,你有耐心的话不用捷径用F10最后也可以来到这地方) 0167:004E78A4 SUB EBX,060167:004E78A7 JMP 004E786E0167:004E78A9 POP ECX --->g 指令来到的点.0167:004E78AA POP ESI0167:004E78AB STD0167:004E78AC XOR EAX,EAX0167:004E78AE MOV ECX,000003560167:004E78B3 CALL 00569039 --->F8进入.0167:004E78B8 ADD [EAX],AL0167:004E78BA ADD [EAX],AL0167:004E78BC ADD [EAX],AL0167:004E78BE ADD [EAX],AL0167:004E78C0 ADD [EAX],AL------------------------CPKCBJB!.petite+288F----------------------

必须进入不然又掉了.来到:0167:00569039 POP EDI0167:0056903A REPZ STOSB0167:0056903C POPAD0167:0056903D POPF0167:0056903F ADD ESP,080167:00569042 JMP 004C3E28 --->很关键的跳(OEP的跳).0167:00569047 JMP KERNEL32!GetCurrentThreadId0167:0056904C JMP KERNEL32!VirtualFree0167:00569051 JMP KERNEL32!LocalFree------------------------CPKCBJB!+0039----------------------

接着来到OEP.:

0167:004C3E28 PUSH EBP --->程序的入口点0167:004C3E29 MOV EBP,ESP0167:004C3E2B ADD ESP,-0C0167:004C3E2E PUSH EBX0167:004C3E2F MOV EAX,004C3B600167:004C3E34 CALL 004061A80167:004C3E39 MOV EBX,[004C6B34] -----------------------CPKCBJB!+000C2E28------------------------

呵呵,OEP找到了,成功一半了.

下指令/dump 400000 16da000 1.exe

退出softice和icedump.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航