老文章档案 · 2003 年

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

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

虽然已经有petite v2.2的脱壳机,但我认为手动脱壳是一个cracker必须掌握的基本技能之一,有必要学习ImportREC重建IAT的技巧。

就拿embird[bcg]在论坛贴的问题做例子吧!

目标软件:http://ftp.eware.com.cn/pub/utility/reader/RB_SetupV1.46.zip

工具:trw2000,ImportREC v1.3,冲击波2000

一,找OEP

很简单,用冲击波2000可看到OEP在426F67处。

二,保存主程序

在426F67处设断点,中断后下命令:“makepe c:\dump.exe”。

三,重建IAT

下命令“suspend”挂起进程。回到window,运行ImportREC,选ReadBook.exe,

输入OEP(4526f67-40000 = 26f67),

"IAT AutoSearch",可得到IAT,但还有一些指针未解决,点击“Get Import”,“AUTO TRACE”后,全部解决。

“fix dump”后生成dump_.exe。运行它非法操作。用trw2000跟踪找到非法操作的地方:

017F:0044DCF4 33DB XOR EBX,EBX

017F:0044DCF6 385814 CMP [EAX+14],BL

017F:0044DCF9 7409 JZ 0044DD04

017F:0044DCFB 838E14010000FF OR DWORD [ESI+0114],BYTE -01

017F:0044DD02 EB63 JMP SHORT 0044DD67

017F:0044DD04 53 PUSH EBX

017F:0044DD05 FF15FC364500 CALL [4536FC] <----这是非法操作的地方

017F:0044DD0B 3BC3 CMP EAX,EBX

017F:0044DD0D 7D0A JNL 0044DD19

017F:0044DD0F 53 PUSH EBX

017F:0044DD10 E863000000 CALL 0044DD78

查看[4536FC]的内容发现该地址指向ole32.dll。看来ImportREC并没有完全修复IAT,重新运行ImportREC

输入OEP,点击"IAT AutoSearch",发现默认的RVA是:00052FFC,Size是00000394。

但是00052FFC+00000394=53390小于4536FC!原来petite 的外壳欺骗了ImportREC,使它得不到完全的IAT

那么我们就手动输入一个范围给它。我把Size改为00000709,加大查找范围。(00000709是个经验值,可以自己试出来)。"Get Import",“AUTO TRACE”后,还有一个指针未解决,它指向Cxxxxxxx,不太合理,而且程序也位使用它,那就随便给它一个函数名吧(我选GetTickCount)。“fix dump”后再次生成dump_.exe。

这样dump_.exe可以运行了。但还有暗桩:

017F:00417CE6 C6470165 MOV BYTE [EDI+01],65

017F:00417CEA FF75F0 PUSH DWORD [EBP-10]

017F:00417CED FF75D8 PUSH DWORD [EBP-28]

017F:00417CF0 FF75E8 PUSH DWORD [EBP-18]

017F:00417CF3 E8BB060000 CALL 004183B3 <-----此call是暗桩,F8进入

017F:00417CF8 83C40C ADD ESP,BYTE +0C

017F:00417CFB 85C0 TEST EAX,EAX

017F:00417CFD 0F8516010000 JNZ NEAR 00417E19

017F:00417D03 53 PUSH EBX

017F:00417D04 53 PUSH EBX

017F:004183B3 FF742408 PUSH DWORD [ESP+08]

017F:004183B7 FF742408 PUSH DWORD [ESP+08]

017F:004183BB E80CF1FFFF CALL 004174CC <-----,F8进入

017F:004183C0 2B442414 SUB EAX,[ESP+14]

017F:004183C4 59 POP ECX

017F:004183C5 59 POP ECX

017F:004183C6 F7D8 NEG EAX

017F:004183C8 1BC0 SBB EAX,EAX

017F:004183CA 40 INC EAX

017F:004183CB C3 RET

017F:004174CC 8B4C2408 MOV ECX,[ESP+08] ----------+

017F:004174D0 83C8FF OR EAX,BYTE -01 |

017F:004174D3 8BD1 MOV EDX,ECX |

017F:004174D5 49 DEC ECX |

017F:004174D6 85D2 TEST EDX,EDX |

017F:004174D8 7423 JZ 004174FD |

017F:004174DA 56 PUSH ESI |

017F:004174DB 8D5101 LEA EDX,[ECX+01] | 典型的crc32

017F:004174DE 8B4C2408 MOV ECX,[ESP+08] |

017F:004174E2 57 PUSH EDI |

017F:004174E3 0FB631 MOVZX ESI,BYTE [ECX] |

017F:004174E6 0FB6F8 MOVZX EDI,AL |

017F:004174E9 33F7 XOR ESI,EDI |

017F:004174EB C1E808 SHR EAX,08 |

017F:004174EE 8B34B590594600 MOV ESI,[ESI*4+00465990] |

017F:004174F5 33C6 XOR EAX,ESI |

017F:004174F7 41 INC ECX |

017F:004174F8 4A DEC EDX |

017F:004174F9 75E8 JNZ 004174E3 ---------------|

017F:004174FB 5F POP EDI

017F:004174FC 5E POP ESI (出处:赢政天下收集整理)

相关文章:

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

·EZIP1.0脱壳手记

·脱pecompact1.71加的壳

·PEPack1.0脱壳手记

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