首页
社区
课程
招聘
[旧帖] [求助]ESP定律脱壳.PE重建依然无法运行,请高人指点 0.00雪花
发表于: 2009-6-8 11:56 4357

[旧帖] [求助]ESP定律脱壳.PE重建依然无法运行,请高人指点 0.00雪花

2009-6-8 11:56
4357
PEID查壳是:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
ESP定律脱壳
再次用PEID查壳:Microsoft Visual C++ 6.0
运行后 显示文件已损坏
用ImportREC和LordPE都不能达到目的
请高人指点

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
自校验
不是脱壳的问题
2009-6-8 12:02
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
有没有办法搞定它
2009-6-8 12:13
0
雪    币: 123
活跃值: (95)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
调试,找到自校验的地方,跳过就可以了。
2009-6-8 12:32
0
雪    币: 104
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
你是不是没有修复IAT啊?
2009-6-10 09:49
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
6
有自校验啊。。。
2009-6-10 10:41
0
雪    币: 102
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个不是脱壳的问题,是程序里面加了自校验。这个是UPX的一个壳,可以直接用upx -d直接脱掉。

这个自校验可以去掉。我用OD设置断点bp MessageBoxA。然后看调用堆栈的最高层,找到下面的一段代码。注意下面红色的代码:
004017BD      FFD0          CALL EAX
把它NOP掉就可以了。你可以试试。

....
00401749   .  51            PUSH ECX                                 ; |hWnd
0040174A   .  FFD6          CALL ESI                                 ; \SendMessageA
0040174C   .  A1 B4834000   MOV EAX,DWORD PTR DS:[4083B4]
00401751   .  8B15 B0834000 MOV EDX,DWORD PTR DS:[4083B0]
00401757   .  8B0D B8834000 MOV ECX,DWORD PTR DS:[4083B8]
0040175D   .  8945 B0       MOV DWORD PTR SS:[EBP-50],EAX
00401760   .  8955 AC       MOV DWORD PTR SS:[EBP-54],EDX
00401763   .  8A15 BC834000 MOV DL,BYTE PTR DS:[4083BC]
00401769   .  8D45 AC       LEA EAX,DWORD PTR SS:[EBP-54]
0040176C   .  894D B4       MOV DWORD PTR SS:[EBP-4C],ECX
0040176F   .  50            PUSH EAX                                 ; /FileName
00401770   .  8855 B8       MOV BYTE PTR SS:[EBP-48],DL              ; |
00401773   .  FF15 10604000 CALL DWORD PTR DS:[<&KERNEL32.LoadLibrar>; \LoadLibraryA
00401779   .  66:8B0D AC834>MOV CX,WORD PTR DS:[4083AC]
00401780   .  8A15 AE834000 MOV DL,BYTE PTR DS:[4083AE]
00401786   .  8B35 70604000 MOV ESI,DWORD PTR DS:[<&KERNEL32.GetProc>;  kernel32.GetProcAddress
0040178C   .  66:894D D0    MOV WORD PTR SS:[EBP-30],CX
00401790   .  66:8B0D A8834>MOV CX,WORD PTR DS:[4083A8]
00401797   .  8855 D2       MOV BYTE PTR SS:[EBP-2E],DL
0040179A   .  8A15 AA834000 MOV DL,BYTE PTR DS:[4083AA]
004017A0   .  66:894D D8    MOV WORD PTR SS:[EBP-28],CX
004017A4   .  8D4D D0       LEA ECX,DWORD PTR SS:[EBP-30]
004017A7   .  A3 DC864000   MOV DWORD PTR DS:[4086DC],EAX
004017AC   .  51            PUSH ECX                                 ; /ProcNameOrOrdinal
004017AD   .  50            PUSH EAX                                 ; |hModule
004017AE   .  8855 DA       MOV BYTE PTR SS:[EBP-26],DL              ; |
004017B1   .  FFD6          CALL ESI                                 ; \GetProcAddress
004017B3   .  68 38564C05   PUSH 54C5638
004017B8   .  A3 B8864000   MOV DWORD PTR DS:[4086B8],EAX
[B][COLOR="Red"]004017BD      FFD0          CALL EAX[/COLOR][/B]
004017BF   .  A1 DC864000   MOV EAX,DWORD PTR DS:[4086DC]
004017C4   .  83C4 04       ADD ESP,4
004017C7   .  8D55 D8       LEA EDX,DWORD PTR SS:[EBP-28]
004017CA   .  52            PUSH EDX
004017CB   .  50            PUSH EAX
004017CC   .  FFD6          CALL ESI
004017CE   .  8B0D 9C834000 MOV ECX,DWORD PTR DS:[40839C]
004017D4   .  8B15 A0834000 MOV EDX,DWORD PTR DS:[4083A0]
004017DA   .  A3 B4864000   MOV DWORD PTR DS:[4086B4],EAX
004017DF   .  A0 A4834000   MOV AL,BYTE PTR DS:[4083A4]
004017E4   .  6A 20         PUSH 20
004017E6   .  894D C0       MOV DWORD PTR SS:[EBP-40],ECX
004017E9   .  8955 C4       MOV DWORD PTR SS:[EBP-3C],EDX
004017EC   .  8845 C8       MOV BYTE PTR SS:[EBP-38],AL
004017EF   .  E8 70320000   CALL <JMP.&MFC42.#823_??2@YAPAXI@Z>
004017F4   .  8D4D C0       LEA ECX,DWORD PTR SS:[EBP-40]
...
2009-6-10 10:43
0
游客
登录 | 注册 方可回帖
返回
//