老文章档案 · 2003 年

PEPack1.0脱壳手记

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

这个壳比EZIP1.0的壳稍微复杂一点 循环比较多 而且左跳右跳 很容易让Cracker迷失方向 不过只要有信心

在关键处下好断点 认真仔细的跟踪 我相信你也一定可以搞定它的 ^_^ 好了不废话 开始吧

这次的试验品是一个使用汇编编写的程序 很多人都喜欢用NOTEPAD当作实验品 加壳后再脱壳 但是我比较喜欢使用汇编编写的程序

因为汇编编写的程序非常好判断是否为真正的入口点 一看到 COMMANDLINEA 就证明你到了~~~

用TRW载入程序 下FALLUS OFF命令 F10两下到这里:

017F:00406000 PUSHA /光标停在这里

017F:00406001 CALL 00406006 /这个CALL一定要进入 脱壳的关键CALL

017F:00406006 POP EBP

017F:00406007 SUB EBP,BYTE +06

017F:0040600A CMP BYTE [EBP+053E],01

017F:00406011 JZ NEAR 40625F

进入这个CALL后小心的跟踪很快就来到第一个关键部分:

017F:004060D4 JNC 0040610E

017F:004060D6 DEC EAX

017F:004060D7 JZ 0040610E

017F:004060D9 JS 0040610E

017F:004060DB MOV BX,[ECX+EDI]

017F:004060DF CMP BL,E8

017F:004060E2 JZ 004060F3

017F:004060E4 CMP BL,E9

017F:004060E7 JZ 004060F3

017F:004060E9 CMP BX,25FF

017F:004060EE JZ 004060FF

017F:004060F0 INC ECX

017F:004060F1 JMP SHORT 004060D6

很明显4060F1处构成一个循环 只要EAX寄存器指不为0 程序会一直在这里循环380多次 ^_^ 我可没有时间看着它

一步一步的循环 于是我们来观察这个循环里面的跳转 发现跳的最远的就是4060D7处的 JZ 0040610E 于是我们

在40610E处下断点,按F5~~~~ 跳出这个循环了

接下来是很多比较大的循环 一个循环里面大概有7,8个判断语句 和跳转 这时只要小心的在每一个条件跳转语句上都下上断点

不断的排除循环内的断点 很快就会找到真正的入口点了

这个就是最后一个大循环的结尾部分 只要下断点 BPX 40625F就可以跳出循环 406270处的跳转语句就是跳到正确OEP的地址

017F:00406248 POP ECX

017F:00406249 POP EDI

017F:0040624A MOV [EDI],EAX

017F:0040624C POP ESI

017F:0040624D POP EDX

017F:0040624E POP EBX

017F:0040624F ADD ESI,BYTE +04

017F:00406252 ADD EDI,BYTE +04

017F:00406255 JMP SHORT 00406214

017F:00406257 ADD EDX,BYTE +14

017F:0040625A JMP 004061B4

017F:0040625F MOV EAX,[EBP+0557]

017F:00406265 ADD EAX.[EBP+058B]

017F:0040626B MOV [ESP+1C],EAX

017F:0040626F POPA

017F:00406270 JMP EAX

跳过 406270 后下命令MakePE,就可以成功脱壳了~~~~~ 测试后可以夸平台运行

————————————————————————————————————————————————

脱壳后当然要制作出一个脚本方便大家使用了 ^_^

PROCDUMP1.62带有PEPack的脱壳脚本 但是根本就不好用 下面的是我自己写的 经过测试完美脱壳:

[NYDoll's PEPack]

L1=OBLR

L2=LOOK E9,76,FF,FF,FF /第一处循环入口点的机器码

L3=BP

L4=WALK

L5=OBLR

L6=LOOK FF,E0 /第二处循环入口点的机器码

L7=BP

L8=STEP

OPTL1=00000000

OPTL2=01000001

OPTL3=01010001

OPTL4=00030000

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

相关文章:

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

·EZIP1.0脱壳手记

·脱pecompact1.71加的壳

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

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

·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)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史