老文章档案 · 2003 年

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

破解教程 · 脱壳教程 · 2003-06-08 · 作者:一块三毛钱 人气: · 出处:赢政天下收集整理)

今天上网下载了个 Aspack2.12,不知它的加壳有没有变化,让我们来看看。

试验对象是 Windows 自带的记事本程序,压缩前 52KB,压缩后 32.5KB。好,开工了。

先用 fi 检查壳的类型,报告显示 PE Win GUI *UNKNOWN*,没关系,自己加的壳还用怀疑吗。

接着用 Trw2000 加载程序,Load,程序被中断在如下代码处

0167:0040D001 60 PUSHAD

0167:0040D002 E803000000 CALL 0040D00A

按 F8 跟进去(这时如果按 F10 的话程序会直接运行)

0167:0040D00A 5D POP EBP

0167:0040D00B 45 INC EBP

0167:0040D00C 55 PUSH EBP

0167:0040D00D C3 RET

按一下 F10 看到下面的代码

0167:0040D008 EB04 JMP 0040D00E

按一下 F10 看到下面的代码

0167:0040D00E E801000000 CALL 0040D014

按 F8 跟进去,来到下面

0167:0040D014 5D POP EBP

0167:0040D015 BBEDFFFFFF MOV EBX,FFFFFFED

0167:0040D01A 03DD ADD EBX,EBP

0167:0040D01C 81EB00D00000 SUB EBX,0000D000

0167:0040D022 83BD2204000000 CMP DWord Ptr [EBP+00000422],00000000

0167:0040D029 899D22040000 MOV [EBP+00000422],EBX

0167:0040D02F 0F8565030000 JNZ 0040D39A (NO JUMP) <--- 注意,下断点 bpx 0040D39A

0167:0040D035 8D852E040000 LEA EAX,[EBP+0000042E]

0167:0040D03B 50 PUSH EAX

0167:0040D03C FF954D0F0000 CALL Near [`KERNEL32!GetModuleHandleA`]

0167:0040D042 898526040000 MOV [EBP+00000426],EAX

0167:0040D048 8BF8 MOV EDI,EAX

0167:0040D04A 8D5D5E LEA EBX,[EBP+5E]

0167:0040D04D 53 PUSH EBX

0167:0040D04E 50 PUSH EAX

0167:0040D04F FF95490F0000 CALL Near [`KERNEL32!GetProcAddress`]

下断点后,按 F5,程序来到下面的代码处

0167:0040D39A B8CC100000 MOV EAX,000010CC

0167:0040D39F 50 PUSH EAX

0167:0040D3A0 038522040000 ADD EAX,[EBP+00000422]

0167:0040D3A6 59 POP ECX

0167:0040D3A7 0BC9 OR ECX,ECX

0167:0040D3A9 8985A8030000 MOV [EBP+000003A8],EAX

0167:0040D3AF 61 POPAD <--- 关键字,入口点就在附近

0167:0040D3B0 7508 JNZ 0040D3BA

0167:0040D3B2 B801000000 MOV EAX,00000001

0167:0040D3B7 C20C00 RET 000C

0167:0040D3BA 6800000000 PUSH 00000000

0167:0040D3BF C3 RET <--- 从这返回后我们就来到程序的真正入口点

下面就是程序的真正入口点

0167:004010CC 55 PUSH EBP

0167:004010CD 8BEC MOV EBP,ESP

0167:004010CF 83EC44 SUB ESP,00000044

0167:004010D2 56 PUSH ESI

0167:004010D3 FF15E4634000 CALL Near [`KERNEL32!GetCommandLineA`]

返回到真正入口点后,下指令 suspend 挂起调试器,打开 PEditor,按下 tasks 按钮,在列表中选中

你的程序,点右键,选择菜单命令 dump(full) 把进程保存到文件中,保存后杀掉进程。

上面的方法对其它的程序也一样适用(我测试了好几个程序,它们在调试器所显示的代码形式都差不多

),用这种方法脱壳后的程序可以直接运行。

附上 Procdump 的 Script:

[Aspack2.12]

L1=OBJR

L2=LOOK 61,75

L3=BP

L4=STEP

OPTL1=00000000

OPTL2=01010001

OPTL3=01010001

OPTL4=00030000

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

相关文章:

·EZIP1.0脱壳手记

·脱pecompact1.71加的壳

·PEPack1.0脱壳手记

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

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

·Aspack的壳

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

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

·Petite 2.x 脱壳

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

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

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

Powered

by:MeSky.Net

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

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

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