首页
社区
课程
招聘
PESPIN V0.7脱壳(完结篇)
发表于: 2004-7-10 17:05 8801

PESPIN V0.7脱壳(完结篇)

2004-7-10 17:05
8801

PESPIN v0.7脱壳(完结篇)

【目    标】: win98’s notepad和自己随便写的一个masm程序
【工    具】:Olydbg1.1
【任    务】:完成上篇文章里没有完成的任务脱壳and修复
【操作平台】:WINXP pro sp1 
【作    者】:loveboom[DFCG][FCG]
【相关链接】: 见附见
【简要说明】:看过我上篇关于脱pespin 的文章就知道我上次只做了一半的工作,所以我们这次的任务是脱衣+说服”她”(修复)。
【详细过程】:
上次我们说怎么到关键代码处,所以这里不再多讲了,如果你没看过的话,可以先去看看我的上篇文章,话说通过上一篇我们到了关键代码处(这次的程序和上次不同,不过关键代码是一样的,LoadLibraryA断后,来到了这里:

0040C887    60              [color=#0000D0]PUSHAD[/color]        [color=#008000];最后到了这里[/color]
0040C888    EB 04           [color=#0000D0]JMP[/color] SHORT VC.0040C88E
0040C88A    CB              [color=#0000D0]RETF[/color]                                     [color=#008000]; Far return[/color]
0040C88B    EB 04           [color=#0000D0]JMP[/color] SHORT VC.0040C891
0040C918    8BBD 792B4000   [color=#0000D0]MOV[/color] [color=#FF0000]EDI[/color],[color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]SS[/color]:[[color=#FF0000]EBP[/color]+402B79]
0040C91E    3BC7            [color=#0000D0]CMP[/color] [color=#FF0000]EAX[/color],[color=#FF0000]EDI[/color]
0040C920    76 35           [color=#0000D0]JBE[/color] SHORT VC.0040C957            
[color=#008000];找到这里后,改成jmp xxxx[/color]
0040C922    03BD 7D2B4000   [color=#0000D0]ADD[/color] [color=#FF0000]EDI[/color],[color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]SS[/color]:[[color=#FF0000]EBP[/color]+402B7D]
……
0040C950    50              [color=#0000D0]PUSH[/color] [color=#FF0000]EAX[/color]
0040C951    FF95 C4394000   [color=#0000D0]CALL[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]SS[/color]:[[color=#FF0000]EBP[/color]+4039C4]
0040C957    EB 01           [color=#0000D0]JMP[/color] SHORT VC.0040C95A
0040C959    90              [color=#0000D0]NOP[/color]
0040C95A    894424 1C       [color=#0000D0]MOV[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]SS[/color]:[[color=#FF0000]ESP[/color]+1C],[color=#FF0000]EAX[/color]
[color=#008000];这里改成 mov ss:[edx],eax,移入正确的函数[/color]
0040C95E    61              [color=#0000D0]POPAD[/color]
0040C962    0BC0            [color=#0000D0]OR[/color] [color=#FF0000]EAX[/color],[color=#FF0000]EAX[/color]
0040C964    C3              [color=#0000D0]RETN[/color]        [color=#008000];这里就是Ret[/color]
0040C965    EB 01           [color=#0000D0]JMP[/color] SHORT VC.0040C968
0040C967    90              [color=#0000D0]NOP[/color]
0040C968    57              [color=#0000D0]PUSH[/color] [color=#FF0000]EDI[/color]
0040C969    51              [color=#0000D0]PUSH[/color] [color=#FF0000]ECX[/color]
0040C96A    90              [color=#0000D0]NOP[/color]
0040C96B    90              [color=#0000D0]NOP[/color]
0040C96C    90              [color=#0000D0]NOP[/color]
0040C96D    90              [color=#0000D0]NOP[/color]
0040C96E    90              [color=#0000D0]NOP[/color]
0040C96F    90              [color=#0000D0]NOP[/color]
0040C970    90              [color=#0000D0]NOP[/color]
0040C971    90              [color=#0000D0]NOP[/color]
0040C972    90              [color=#0000D0]NOP[/color]
0040C973    BF 4FE24000     [color=#0000D0]MOV[/color] [color=#FF0000]EDI[/color],VC.0040E24F
0040C978    EB 01           [color=#0000D0]JMP[/color] SHORT VC.0040C97B
0040C97A    90              [color=#0000D0]NOP[/color]
0040C97B    B9 7F020000     [color=#0000D0]MOV[/color] [color=#FF0000]ECX[/color],27F
0040C980    EB 01           [color=#0000D0]JMP[/color] SHORT VC.0040C983
0040C982    90              [color=#0000D0]NOP[/color]
0040C983    3917            [color=#0000D0]CMP[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]EDI[/color]],[color=#FF0000]EDX[/color]
0040C985    74 0A           [color=#0000D0]JE[/color] SHORT VC.0040C991
0040C987    47              [color=#0000D0]INC[/color] [color=#FF0000]EDI[/color]
0040C988  ^ E2 F9           LOOPD SHORT VC.0040C983
0040C98A    EB 01           [color=#0000D0]JMP[/color] SHORT VC.0040C98D
0040C98C    90              [color=#0000D0]NOP[/color]
0040C98D    8902            [color=#0000D0]MOV[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]EDX[/color]],[color=#FF0000]EAX[/color]
[color=#008000];这里就是进行搞破坏,所以这里要NOP它[/color]
0040C98F    EB 25           [color=#0000D0]JMP[/color] SHORT VC.0040C9B6
0040C991    90              [color=#0000D0]NOP[/color]
0040C992    90              [color=#0000D0]NOP[/color]
0040C993    90              [color=#0000D0]NOP[/color]
0040C994    90              [color=#0000D0]NOP[/color]
0040C995    90              [color=#0000D0]NOP[/color]
0040C996    90              [color=#0000D0]NOP[/color]
0040C997    90              [color=#0000D0]NOP[/color]
0040C998    90              [color=#0000D0]NOP[/color]
0040C999    90              [color=#0000D0]NOP[/color]
0040C99A    807F FF 00      [color=#0000D0]CMP[/color] [color=#b000b0]BYTE[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]EDI[/color]-1],0
0040C99E    74 11           [color=#0000D0]JE[/color] SHORT VC.0040C9B1
0040C9A0    807F FF E9      [color=#0000D0]CMP[/color] [color=#b000b0]BYTE[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]EDI[/color]-1],0E9
[color=#008000];这里是判断是不是MASM的程序.后面再讲[/color]
0040C9A4  ^ 75 E7           [color=#0000D0]JNZ[/color] SHORT VC.0040C98D
0040C9A6    83C7 04         [color=#0000D0]ADD[/color] [color=#FF0000]EDI[/color],4
0040C9A9    2BC7            [color=#0000D0]SUB[/color] [color=#FF0000]EAX[/color],[color=#FF0000]EDI[/color]
0040C9AB    8947 FC         [color=#0000D0]MOV[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]EDI[/color]-4],[color=#FF0000]EAX[/color]
0040C9AE    EB 06           [color=#0000D0]JMP[/color] SHORT VC.0040C9B6
0040C9B0    90              [color=#0000D0]NOP[/color]        [color=#008000];这里是花指令,nop掉[/color]
0040C9B1    8907            [color=#0000D0]MOV[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]EDI[/color]],[color=#FF0000]EAX[/color]
[color=#008000];对于VC/DELPHI加的壳的程序,这里是最重要的了[/color]
0040C9B3    EB 01           [color=#0000D0]JMP[/color] SHORT VC.0040C9B6
0040C9B5    90              [color=#0000D0]NOP[/color]
0040C9B6    59              [color=#0000D0]POP[/color] [color=#FF0000]ECX[/color]
0040C9B1   /E9 3A4A0000     [color=#0000D0]JMP[/color] VC.004113F0
004113F0    60              [color=#0000D0]PUSHAD[/color]
004113F1    9C              [color=#0000D0]PUSHFD[/color]
004113F2    BB 00104000     [color=#0000D0]MOV[/color] [color=#FF0000]EBX[/color],VC.00401000                      [color=#008000]; CODEBASE[/color]
004113F7    B9 00400000     [color=#0000D0]MOV[/color] [color=#FF0000]ECX[/color],4000                             [color=#008000]; CODESIZE[/color]
004113FC    8B13            [color=#0000D0]MOV[/color] [color=#FF0000]EDX[/color],[color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]EBX[/color]]
004113FE    3BD7            [color=#0000D0]CMP[/color] [color=#FF0000]EDX[/color],[color=#FF0000]EDI[/color]
00411400    75 0C           [color=#0000D0]JNZ[/color] SHORT VC.0041140E
00411402    8B17            [color=#0000D0]MOV[/color] [color=#FF0000]EDX[/color],[color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]EDI[/color]]
00411404    8913            [color=#0000D0]MOV[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]EBX[/color]],[color=#FF0000]EDX[/color]
00411406    83C3 04         [color=#0000D0]ADD[/color] [color=#FF0000]EBX[/color],4
00411409    83E9 03         [color=#0000D0]SUB[/color] [color=#FF0000]ECX[/color],3
0041140C    EB 03           [color=#0000D0]JMP[/color] SHORT VC.00411411
0041140E    83C3 01         [color=#0000D0]ADD[/color] [color=#FF0000]EBX[/color],1
00411411  ^ E2 E9           LOOPD SHORT VC.004113FC
00411413    9D              [color=#0000D0]POPFD[/color]
00411414    61              [color=#0000D0]POPAD[/color]
00411415  ^ E9 9CB5FFFF     [color=#0000D0]JMP[/color] VC.0040C9B6        [color=#008000];找完后回去老地方[/color]

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (13)
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
2
没有脚本真清爽……精
2004-7-10 17:10
0
雪    币: 557
活跃值: (2303)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
3
呵呵,不是没有脚本是不想成为灌水对象。我自己已经做了一体化的脱衣脚本
2004-7-10 17:23
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
4
GOOD
PESPIN V0.7和V0.4在脱壳方面来说没有什么变化
2004-7-10 17:31
0
雪    币: 557
活跃值: (2303)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
5
谢谢,v0.4的没有去脱过
2004-7-10 19:08
0
雪    币: 3835
活跃值: (4402)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
6
最初由 loveboom 发布
呵呵,不是没有脚本是不想成为灌水对象。我自己已经做了一体化的脱衣脚本


脚本不发来bcg2002@163.com , 罪过啊罪过哦。
2004-7-10 19:19
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
终于出来啦!我期待好久了。
2004-7-11 09:50
0
雪    币: 557
活跃值: (2303)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
8
最初由 china 发布


脚本不发来bcg2002@163.com , 罪过啊罪过哦。

脚本发送中ing......,Please stand by:)
2004-7-11 13:39
0
雪    币: 3835
活跃值: (4402)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
9
等待ing ,现在要去办公室打印点资料,回来再收,谢谢。
2004-7-11 13:50
0
雪    币: 218
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
:D
2004-7-11 15:20
0
雪    币: 6028
活跃值: (2837)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
/*
/////////////////////////////////////////////////////////////////////////////////////////////
// PESpin v0.7 OEP finder
// Author: hacnho/VCT2k4
// Email : [email]hacnho@hotmail.com[/email]
// Website: http://nhandan.info/hacnho
// OS : WinXP Pro, OllyDbg 1.10 Final, OllyScript v0.85
//You can download my unpackme at http://nhandan.info/hacnho/tuts/unpackme_PESpin_07.zip
//for test this script.
//Note: Not work with Delphi (OllyDBG will be crash when loading).
//////////////////////////////////////////////////////////////////////////////////////////////
*/

MSG "Do not clear memory breakpoint! Thanx for using my script!"
var temp
sti
sti
findop eip, #61E9#
bphws esp,"r"
mov temp,esp
run
eob Break1

Break1:
run
esto
esto
esto
esto
eob Break2

Break2:
esto
esto
esto
esto
esto
eob exit

jmp exit
exit:
log eip
cmt eip, "Script by hacnho/VCT2k4"
MSG "Please press Shift+F9 one times! When you trace to a jump (E9 XXXXXXXX). Press Enter, you'll still on OEP! Ctrl+A for analyze."
ret
2004-7-12 09:09
0
雪    币: 557
活跃值: (2303)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
12
呵呵,那个作者的只是找oep,不会修复iat的
2004-7-12 09:11
0
雪    币: 557
活跃值: (2303)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
13
:D 二哥怎么不来这里下呢 :D
to david:
   我自己把贴子顶上来了 ,你自己下吧:p
fly要来打PP了,闪人:D 附件:PESpin.rar
2005-1-8 11:03
0
雪    币: 411
活跃值: (1160)
能力值: ( LV9,RANK:810 )
在线值:
发帖
回帖
粉丝
14
最初由 loveboom 发布
谢谢,v0.4的没有去脱过


0.41我脱过,和0.3一样。

0.7-1.0变化不大,就少个代码替换 。
2005-1-8 14:57
0
游客
登录 | 注册 方可回帖
返回
//