老文章档案 · 2003 年

FSG 1.33 的简单脱壳

破解教程 · 脱壳教程 · 2003-06-10 · 作者:CoolWolF[BCG] 人气: · 出处:嬴政天下整理收藏)

FSG 1.33 的简单脱壳

=======================================================================

作 者: CoolWolF <coolwolf@gmx.net>

破解时间: 2003-4-13

使用工具: OLLYDBG 1.09b、Import REConstructor v1.4.2、PEiD0.8

目 标: FSG 1.33本身

平 台: Windows 2000 Server SP3

难 度: 低

=======================================================================

本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

=======================================================================

FSG是一个最近比较流行的加壳软件,压缩比很高,而且似乎没有自动脱壳机。

废话少说,我们开始:

PEiD看一下,不能识别是什么壳,OEP也找不到。看来这个小软件是不错^o^

用ollydbg加载fsg133.exe,程序停留在入口,F8单步执行:

00533124 > BE A4014000 MOV ESI,fsg133.004001A4

00533129 AD LODS DWORD PTR DS:[ESI]

0053312A 93 XCHG EAX,EBX

0053312B AD LODS DWORD PTR DS:[ESI]

0053312C 97 XCHG EAX,EDI

0053312D AD LODS DWORD PTR DS:[ESI]

0053312E 56 PUSH ESI

0053312F 96 XCHG EAX,ESI

00533130 B2 80 MOV DL,80

00533132 A4 MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]

00533133 B6 80 MOV DH,80

00533135 FF13 CALL DWORD PTR DS:[EBX]

00533137 ^73 F9 JNB SHORT fsg133.00533132

00533139 33C9 XOR ECX,ECX

0053313B FF13 CALL DWORD PTR DS:[EBX]

0053313D 73 16 JNB SHORT fsg133.00533155

0053313F 33C0 XOR EAX,EAX

00533141 FF13 CALL DWORD PTR DS:[EBX]

00533143 73 1F JNB SHORT fsg133.00533164

00533145 B6 80 MOV DH,80

00533147 41 INC ECX

00533148 B0 10 MOV AL,10

0053314A FF13 CALL DWORD PTR DS:[EBX]

0053314C 12C0 ADC AL,AL

0053314E ^73 FA JNB SHORT fsg133.0053314A

00533150 75 3C JNZ SHORT fsg133.0053318E

00533152 AA STOS BYTE PTR ES:[EDI]

00533153 ^EB E0 JMP SHORT fsg133.00533135

00533155 FF53 08 CALL DWORD PTR DS:[EBX+8]

…………

跟踪了一段时间之后我们发现,很多地方都要跳回00533135,我们就找到最远的一个地址:

0053318E 56 PUSH ESI

0053318F 8BF7 MOV ESI,EDI

00533191 2BF0 SUB ESI,EAX

00533193 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>

00533195 5E POP ESI

00533196 ^EB 9D JMP SHORT fsg133.00533135

00533198 8BD6 MOV EDX,ESI

在00533198这一行上按F2下断,F9执行,拦截之后继续F8往下走:

00533198 8BD6 MOV EDX,ESI ; fsg133.00532E3A

0053319A 5E POP ESI

0053319B AD LODS DWORD PTR DS:[ESI]

0053319C 48 DEC EAX

0053319D 74 0A JE SHORT fsg133.005331A9

0053319F 79 02 JNS SHORT fsg133.005331A3

005331A1 AD LODS DWORD PTR DS:[ESI]

005331A2 50 PUSH EAX

005331A3 56 PUSH ESI

005331A4 8BF2 MOV ESI,EDX

005331A6 97 XCHG EAX,EDI

005331A7 ^EB 87 JMP SHORT fsg133.00533130

005331A9 AD LODS DWORD PTR DS:[ESI]

这里又跳回00533130了,同样的道理,在005331A9下断,拦截后F8:

005331AF 56 PUSH ESI

005331B0 FF13 CALL DWORD PTR DS:[EBX]

005331B2 95 XCHG EAX,EBP

005331B3 AC LODS BYTE PTR DS:[ESI]

005331B4 84C0 TEST AL,AL

005331B6 ^75 FB JNZ SHORT fsg133.005331B3

005331B8 FE0E DEC BYTE PTR DS:[ESI]

005331BA ^74 F0 JE SHORT fsg133.005331AC

005331BC 79 05 JNS SHORT fsg133.005331C3

005331BE 46 INC ESI

005331BF AD LODS DWORD PTR DS:[ESI]

005331C0 50 PUSH EAX

005331C1 EB 09 JMP SHORT fsg133.005331CC

005331C3 FE0E DEC BYTE PTR DS:[ESI]

005331C5 -0F84 35DEECFF JE fsg133.00401000

005331CB 56 PUSH ESI

005331CC 55 PUSH EBP

005331CD FF53 04 CALL DWORD PTR DS:[EBX+4]

005331D0 AB STOS DWORD PTR ES:[EDI]

005331D1 ^EB E0 JMP SHORT fsg133.005331B3

在这里我们从右边的状态栏里面可以看到,程序在循环一系列的API名,我们可以特别注意一下

005331C5 -0F84 35DEECFF JE fsg133.00401000

很明显,软件在这里是恢复Import表,当完全恢复之后跳到OEP,所以这个程序OEP就是00401000,这也是很多壳采用的方法。

剩下的事情很简单,DUMP出来之后用Import REConstructor修复,全都可以自动完成,程序执行正常。

整理:程序有两个长时间的循环,跟踪时应该跳过;OEP地址出现在第二次循环结束之后。

EOF====================================================================

BTW:DUMP出来的程序居然有1.2M,而加了壳的文件只有65k:~) 不过这个软件好像对VC编写的程序特别挑剔,加壳后经常非法操作,对汇编程序的支持倒是很好。 (出处:嬴政天下整理收藏)

相关文章:

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

·EZIP1.0脱壳手记

·脱pecompact1.71加的壳

·PEPack1.0脱壳手记

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

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

·Aspack的壳

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

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

·Petite 2.x 脱壳

相关软件:

·NetConch(网络贝壳) 1.1

·甲壳虫进销存 V3.20

·甲壳虫医药版 V3.82

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

·甲壳虫超市版 V3.70

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