首页
社区
课程
招聘
[旧帖] [求助]北斗+UPX双壳脱法求助 0.00雪花
发表于: 2009-8-26 10:07 1564

[旧帖] [求助]北斗+UPX双壳脱法求助 0.00雪花

2009-8-26 10:07
1564
用PE检查是  什么都没找到  *

首先用OD载入程序

00663A48 >  9C              pushfd
00663A49    60              pushad
00663A4A    E8 00000000     call 螺丝石器.00663A4F   //像是北斗的壳,用ESP定律
00663A4F    5D              pop ebp
00663A50    B8 07000000     mov eax,7
00663A55    2BE8            sub ebp,eax
00663A57    8DB5 78FCFFFF   lea esi,dword ptr ss:[ebp-388]
00663A5D    8A06            mov al,byte ptr ds:[esi]
00663A5F    3C 00           cmp al,0
00663A61    74 12           je short 螺丝石器.00663A75

初步判定是北斗的壳,然后根据ESP定律跳

00663CCC    9D              popfd            //跳到这里,F8一下
00663CCD  - E9 3E27FFFF     jmp 螺丝石器.00656410   //走到这里按道理说应该直接就是OPE了,F8一下
00663CD2    8BB5 2CFCFFFF   mov esi,dword ptr ss:[ebp-3D4]
00663CD8    0BF6            or esi,esi
00663CDA    0F84 97000000   je 螺丝石器.00663D77

00656410    60              pushad             //直接跳到这里,直接脱壳!
00656411    BE 00E05300     mov esi,螺丝石器.0053E000
00656416    8DBE 0030ECFF   lea edi,dword ptr ds:[esi+FFEC3000]
0065641C    57              push edi
0065641D    83CD FF         or ebp,FFFFFFFF
00656420    EB 10           jmp short 螺丝石器.00656432

用OD脱壳完后,程序可以运行,用PE检测,发现是UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo

快速验证还是压缩的

只用继续用OD载入这个脱壳的程序

00656410 >  60              pushad           //F8向下
00656411    BE 00E05300     mov esi,123.0053E000    //到这里,仍然用ESP定律,F9运行
00656416    8DBE 0030ECFF   lea edi,dword ptr ds:[esi+FFEC3000]
0065641C    57              push edi
0065641D    83CD FF         or ebp,FFFFFFFF
00656420    EB 10           jmp short 123.00656432

结果就运行到这里来了

00656584    8D4424 80       lea eax,dword ptr ss:[esp-80]  //跳到这里,然后就不知道怎么办了
00656588    6A 00           push 0
0065658A    39C4            cmp esp,eax
0065658C  ^ 75 FA           jnz short 123.00656588   //直接返回到 00656588
0065658E    83EC 80         sub esp,-80
00656591  ^ E9 488ADEFF     jmp 123.0043EFDE   //直接返回到0043EFDE
00656596    0000            add byte ptr ds:[eax],al
00656598    0000            add byte ptr ds:[eax],al
0065659A    0000            add byte ptr ds:[eax],al
0065659C    0000            add byte ptr ds:[eax],al
0065659E    0000            add byte ptr ds:[eax],al

0043EFDE    6A 60           push 60   //最后就是到这里
0043EFE0    68 38A04C00     push 123.004CA038
0043EFE5    E8 260F0000     call 123.0043FF10
0043EFEA    BF 94000000     mov edi,94
0043EFEF    8BC7            mov eax,edi

实在不知道该怎么脱了!求教该怎么处理

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 318
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
0043EFDE 处就是oep呀,直接脱壳就行了
2009-8-26 10:54
0
雪    币: 73
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不好意思,我没表达清楚,跳到最后脱壳后,快速检验那里还是提示压缩的,有什么办法解决么?
2009-8-26 15:46
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
侦壳用FI再查一下,两个工具同时用看看。
2009-8-26 16:53
0
雪    币: 73
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
壳是脱完了,但程序有自我校验,不知道该如何去
2009-8-26 18:40
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
同时用OD打开未脱壳文件和脱壳文件,单步比较每个跳转,不知道这样是不是能解决?
2009-8-26 19:27
0
雪    币: 82
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
试试看不就知道了。
2009-8-27 11:05
0
游客
登录 | 注册 方可回帖
返回
//