iawen 发表于 2007-11-6 13:33:17

脱PEtitle手记

/*********************************************************

脱PEtitle手记
目标程序:记事本Notepad.exe
PEid查壳为:PEtite 2.x -> Ian Luck
日期:2007-11-06 12:24

*********************************************************/



设置OD选项:忽略所有异常


用OD载入程序:
=========================================================================
0040D042 >B8 00D04000   mov   eax, 0040D000
//OD载入后,停在此处
0040D047    68 4C584000   push    0040584C
0040D04C    64:FF35 0000000>push    dword ptr fs:
0040D053    64:8925 0000000>mov   dword ptr fs:, esp
0040D05A    66:9C         pushfw
0040D05C    60            pushad //PEtile的关键名
0040D05D    50            push    eax
//单步F8到此,ESP=0013FF9A
//下断:hr 0013FF9A,Shift+F9运行
0040D05E    68 00004000   push    00400000


=============>>>>>>>>>>
0040D03D    66:9D         popfw
//运行后,程序中断在此
//删除硬件断点后,单步F8
0040D03F    83C4 08         add   esp, 8
0040D042 >- E9 8540FFFF   jmp   004010CC //这就是程序的OEP了,呵呵
0040D047- E9 BBB16D7C   jmp   SHELL32.DragFinish
0040D04C- E9 C7B16D7C   jmp   SHELL32.DragQueryFileA

=============>>>>>>>>>>
004010CC    55            push    ebp
//单步到此,就可以脱壳了
004010CD    8BEC            mov   ebp, esp
004010CF    83EC 44         sub   esp, 44
004010D2    56            push    esi
004010D3    FF15 E4634000   call    dword ptr                ; kernel32.GetCommandLineA
004010D9    8BF0            mov   esi, eax
004010DB    8A00            mov   al, byte ptr
004010DD    3C 22         cmp   al, 22
004010DF    75 1B         jnz   short 004010FC
004010E1    56            push    esi
004010E2    FF15 F4644000   call    dword ptr                ; notepad.0040D0BA



脱壳后,获取IAT时,会有许多无效指针,用等级一修复就可以了,^@^……
附加壳的记事本:

JOHN 发表于 2007-11-10 07:32:22

貌是很快,有空试一下

backboy 发表于 2007-11-14 01:05:21

试验成功,确实很快!

cc7x 发表于 2008-1-3 22:18:25

试验基本成功,但还是没能脱掉readbook,加油中

cc7x 发表于 2008-1-5 23:13:04

我也将readbook的壳脱了,练习了一下,也是petitle的/:010 /:010

yzw_1023 发表于 2008-1-8 13:15:27

OD载入
F7单步
0040D042 >B8 00D04000       mov eax,111epad.0040D000
0040D047    68 4C584000       push 111epad.0040584C
0040D04C    64:FF35 00000000push dword ptr fs:
0040D053    64:8925 00000000mov dword ptr fs:,esp
0040D05A    66:9C             pushfw
0040D05C    60                pushad
//停在这里ESP=0012FC4 右键数据窗口中跟随
ESP=0012FC4FFE00246 设置硬件访问断点 运行跳转至
0040D03F    83C4 08         add esp,8
删除断点,F7 2次跳转至
004010CC    55                push ebp//OD直接脱壳
004010CD    8BEC            mov ebp,esp
保存完毕运行OK~~!

dying 发表于 2008-2-11 01:30:02

谢谢,ESP很简单的哈~
页: [1]
查看完整版本: 脱PEtitle手记