老文章档案 · 2003 年

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

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-06-08 · 作者:柯男 人气: · 出处:赢政天下收集整理)

本文只是适合新手手动脱壳的入门和爆破入门,高手们不要笑小弟呀!

(可以多多提意见,我是很谦虚的!).

用到的工具:

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 004E7683

0167:004E767B ADD ESP,2A

0167:004E767E JMP 00569015

0167:004E7683 MOV ESI,000E5000

0167:004E7688 ADD ESI,EBP

0167:004E768A LEA ECX,[EBP+00000800]

0167:004E7690 MOV EBX,EAX

0167:004E7692 CMP DWORD PTR [ESI],00

0167:004E7695 JZ 004E78A9 --->注意这是个捷径.

0167:004E769B PUSH ECX

0167:004E769C PUSH ECX

0167:004E769D CALL [EBP+00000790]

0167:004E76A3 TEST EAX,EAX ---->注意这是用F12跳到的第一条指令.

0167:004E76A5 JZ 004E778A

0167:004E76AB MOV EDI,EAX

0167: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,EDI

0167:004E76BD PUSH ECX

------------------------CPKCBJB!.petite+2679----------------

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

{标 题:脱壳----对用Petite2.2加壳的程序进行手动脱壳的一点分析 (5千字)

发信人:ljttt

时 间:2000-7-27 19:57:10

详细信息:

脱壳----对用Petite2.2加壳的程序进行手动脱壳的一点分析 }

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

(当然,你有耐心的话不用捷径用F10最后也可以来到这地方)

0167:004E78A4 SUB EBX,06

0167:004E78A7 JMP 004E786E

0167:004E78A9 POP ECX --->g 指令来到的点.

0167:004E78AA POP ESI

0167:004E78AB STD

0167:004E78AC XOR EAX,EAX

0167:004E78AE MOV ECX,00000356

0167:004E78B3 CALL 00569039 --->F8进入.

0167:004E78B8 ADD [EAX],AL

0167:004E78BA ADD [EAX],AL

0167:004E78BC ADD [EAX],AL

0167:004E78BE ADD [EAX],AL

0167:004E78C0 ADD [EAX],AL

------------------------CPKCBJB!.petite+288F----------------------

必须进入不然又掉了.来到:

0167:00569039 POP EDI

0167:0056903A REPZ STOSB

0167:0056903C POPAD

0167:0056903D POPF

0167:0056903F ADD ESP,08

0167:00569042 JMP 004C3E28 --->很关键的跳(OEP的跳).

0167:00569047 JMP KERNEL32!GetCurrentThreadId

0167:0056904C JMP KERNEL32!VirtualFree

0167:00569051 JMP KERNEL32!LocalFree

------------------------CPKCBJB!+0039----------------------

接着来到OEP.:

0167:004C3E28 PUSH EBP --->程序的入口点

0167:004C3E29 MOV EBP,ESP

0167:004C3E2B ADD ESP,-0C

0167:004C3E2E PUSH EBX

0167:004C3E2F MOV EAX,004C3B60

0167:004C3E34 CALL 004061A8

0167:004C3E39 MOV EBX,[004C6B34]

-----------------------CPKCBJB!+000C2E28------------------------

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

下指令/dump 400000 16da000 1.exe

退出softice和icedump.

4.)修补dump出来的文件:

打开peditor,装入1.exe.点击section按钮,右键选dumpfixer,最后exit.

5.)修补import表:

运行ImportREC1.2beta2,在Attach to an Active Process下拉框中选中importrec.exe

(首先确保原来的程序在运行),

然后在左下方OEP中输入C3E28就是(47e910-400000),按IAT AutoSearch。出现对话框Found Something!=》

“Found address which may be in the Original IAT.Try 'Get Import'”

按Get Import,再按Show Invalids 按钮,在Imported Function Found框中会有很多蓝色的项目。

在其中点右键,选Trace Level1(Disasm),再按Show Invalids 按钮,可以看到所有的dll都为valid:YES

字样。输入表到此完成。

再选择Add new section(缺省是选上的),按Fix Dump,并选择刚才Dump出来的文件1.exe。

ImpRECT 会在该文件所在目录生成一个新的文件:test_.exe ,这就是修复后的文件。

至此"脱壳"工作终于大功告成,点击1_.exe可以运行了。

呵呵:

关于为什么一开始我mail给night007的软件不好使,是因为我没做第五步,但是没修补import表却可以在本机

上正常运行,这是什么意思,请高手指点一二.

二)爆破开始了(我虽然是个侦探,可是我可不愿算那可恶的注册码 <<----这个家伙又在吹,他不行).

打开软件,来到注册画面,添入注册码(假的,要和用户名<机器生成码>一样长呀,不然注册按钮不可用)

我添的是:

默认的注册名,和注册名一样常的1111111....注册码!!

打开softice,设断点bpx hmemcpy--->Ctrl+n---->点击注册---->F12来到程序领空.

再一路按F10来到:

0167:004A1DAD CALL 00403F84

0167:004A1DB2 MOV EDX,[EBP-24]

0167:004A1DB5 POP EAX

0167:004A1DB6 CALL 00403E8C

0167:004A1DBB JZ 004A1DC1

0167:004A1DBD MOV BYTE PTR [EBP-09],00

0167:004A1DC1 DEC EBX

0167:004A1DC2 TEST EBX,EBX

0167:004A1DC4 JNZ 004A1D7A

0167:004A1DC6 CMP BYTE PTR [EBP-09],00

0167:004A1DCA JZ 004A1F64 --->关键跳.上面的算法太复杂.我不干了

0167:004A1DD0 LEA EDX,[EBP-28]

0167:004A1DD3 MOV EAX,[ESI+000002FC]

0167:004A1DD9 CALL 0042D8D4

(出处:赢政天下收集整理)

相关文章:

·怎样脱用 Aspack2.12 加的壳(适合初学者)

·EZIP1.0脱壳手记

·脱pecompact1.71加的壳

·PEPack1.0脱壳手记

·手动脱壳的教程(由petite v2.2加壳)

·Aspack的壳

·对PECompact.exe v1.34的手动脱壳

·Petite 脱壳“标准”解决方法

·Petite 2.x 脱壳

·脱壳----对用Petite2.2加壳的程序进行手动脱壳的一点分析

相关软件:

·NetConch(网络贝壳) 1.1

·甲壳虫进销存 V3.16 医药版

·甲壳虫医药版 V3.80

·甲壳虫服装鞋帽版 V3.90

·甲壳虫超市版 V3.68

·花生壳(PeanutHull) V2.0 正式版

·甲壳虫XP插件版 2.0.5

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史