首页
社区
课程
招聘
[讨论]脱壳nSPack 3.7遇到问题...请帮忙
2009-8-25 10:41 8754

[讨论]脱壳nSPack 3.7遇到问题...请帮忙

2009-8-25 10:41
8754
PEid扫描是,nSPack 3.7 -> North Star/Liu Xing Ping 这个壳
自己根据ESP定律找到OEP后,手脱后、修复IAT

但是运行后报错..已经研究1周多了,仍没有进展

请求高手帮忙脱下壳,给个过程..看下问题是出在哪里...

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (17)
雪    币: 864
活跃值: (145)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
Aiikang 2009-8-25 14:15
2
0
参照论坛里“菜鸟ESP定律妙脱nSpack3.7
http://bbs.pediy.com/showthread.php?t=90888&highlight=nspack

也找到同样的代码,追到OEP

005CFA6F >  9C              PUSHFD
005CFA70    60              PUSHAD             入栈,保存环境
005CFA71    E8 00000000     CALL miupp.005CFA76
005CFA76    5D              POP EBP
005CFA77    83ED 07         SUB EBP,7
005CFA7A    8D8D 21FCFFFF   LEA ECX,DWORD PTR SS:[EBP-3DF]
005CFA80    8039 01         CMP BYTE PTR DS:[ECX],1
005CFA83    0F84 42020000   JE miupp.005CFCCB

F8单步三次,
ESP 中的内容分别为0012FFC0、0012FFA0

与菜鸟ESP文中的一致..

下硬件断点,菜文是用hr 硬件读取断点,
在本例中,只能下hw 硬件写入断点,才能断下来

找到OEP为004016BC

dump后,用PEId查壳为Borland C++ 1999

但是不能正常运行.

由于是头次手脱.
遇到困难了,请教不忙的高手指点一二..谢谢
雪    币: 606
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yzlong 2009-8-25 14:33
3
0
额。。   这个是一个BC++写的一个程序。

BC++的脱壳需要手动查找IAT的。

004016BC   . /EB 10         jmp short miupp.004016CE                       ///OEP
004016BE     |66            db 66                                   ;  CHAR 'f'
004016BF     |62            db 62                                   ;  CHAR 'b'
004016C0     |3A            db 3A                                   ;  CHAR ':'
004016C1     |43            db 43                                   ;  CHAR 'C'
004016C2     |2B            db 2B                                   ;  CHAR '+'
004016C3     |2B            db 2B                                   ;  CHAR '+'
004016C4     |48            db 48                                   ;  CHAR 'H'
004016C5     |4F            db 4F                                   ;  CHAR 'O'
004016C6     |4F            db 4F                                   ;  CHAR 'O'
004016C7     |4B            db 4B                                   ;  CHAR 'K'
004016C8     |90            nop
004016C9     |E9            db E9
004016CA     |98C05500      dd miupp.0055C098
004016CE   > \A1 8BC05500   mov eax,dword ptr ds:[55C08B]
004016D3   .  C1E0 02       shl eax,2
004016D6   .  A3 8FC05500   mov dword ptr ds:[55C08F],eax
004016DB   .  52            push edx
004016DC   .  6A 00         push 0                                  ; /pModule = NULL
004016DE   .  E8 2F9E1500   call miupp.0055B512                     ; \GetModuleHandleA   ////回车跟入  看到很多JMP    这里就是输入表了。    在下边命令窗口 D那个命令前边的地址。   就能看到输入表
004016E3   .  8BD0          mov edx,eax
004016E5   .  E8 FACC1400   call miupp.0054E3E4
004016EA   .  5A            pop edx

用IR修复,

OEP   16BC   RVA  0018f100   SIZE  8000

然后获取输入表,接着查找无效指针,见切掉无效的指针,

修复转储。

就OK了。

好像还有校验。提示IEXPLORE 出错,

这个我没搞定。
雪    币: 864
活跃值: (145)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
Aiikang 2009-8-25 14:37
4
0
嗯..我这也是提示Iexploer错误..不知道是怎么回事~~
谢谢大大的指点~~

继续研究
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ucantseeme 2009-8-25 18:18
5
0
miupp.rar

简单的东西我还是会弄的
上传的附件:
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
XSJS 2009-8-25 18:37
6
0
[QUOTE=ucantseeme;676404] miupp.rar

简单的东西我还是会弄的[/QUOTE]

是锅,NSPACK确实没难。。。。。。

LS死马时候出来玩子啊,我记得你好像也是柳州的
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ucantseeme 2009-8-25 18:52
7
0
毁灭证据(
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
XSJS 2009-8-25 19:34
8
0
死马证据?
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
XSJS 2009-8-25 19:38
9
0
明显是overlay的问题
雪    币: 864
活跃值: (145)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
Aiikang 2009-8-25 20:38
10
0
是附加数据的问题?

还是校验文件造成的

dump后,运行时,报ieplorer错误..

望大大,指点下:)谢谢
雪    币: 864
活跃值: (145)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
Aiikang 2009-8-25 20:52
11
0
[QUOTE=ucantseeme;676404] miupp.rar

简单的东西我还是会弄的[/QUOTE]

哇..高人出现了..

膜拜下...
神人,可否将过程放上来.
让小弟们观模之...
3Q..
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
choas 2009-8-26 15:23
12
0
我找到的程序入口点是
00555440  /> \55            PUSH EBP
00555441  |.  8BEC          MOV EBP,ESP
00555443  |.  83C4 F4       ADD ESP,-0C
00555446  |.  53            PUSH EBX
00555447  |.  56            PUSH ESI
00555448  |.  57            PUSH EDI
00555449  |.  8B75 08       MOV ESI,DWORD PTR SS:[EBP+8]
脱壳后用imprec修复,但是运行出错!!哪位高手给出解答??
雪    币: 864
活跃值: (145)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
Aiikang 2009-8-26 15:42
13
0
你找的OEP好像不对吧..
应该是004016BC.
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
choas 2009-8-26 16:07
14
0
access violation at address 003402b0 in module 'IEXPLORE.exe',Read of address 00000000
雪    币: 390
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hydon 2009-8-26 16:24
15
0
处理好iat和附加数据后

patch自校验,一共两处

004027BD  |.  8BB5 DCFDFFFF MOV ESI,DWORD PTR SS:[EBP-224]
004027C3  |.  66:C743 10 08>MOV WORD PTR DS:[EBX+10],8
004027C9  |.  81FE 20A10700 CMP ESI,7A120                    
004027CF  |.  7C 0C         JL SHORT 004027DD                    
004027D1  |.  81FE C0270900 CMP ESI,927C0                    ★改这里
004027D7  |.  0F8E 1F010000 JLE 004028FC                       这里必须跳否则完蛋
004027DD  |>  33D2          XOR EDX,EDX
004027DF  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
004027E2  |.  E8 85201100   CALL 0051486C

004028FC  |> \81FE 20A10700 CMP ESI,7A120
00402902  |.  7C 08         JL SHORT 0040290C
00402904  |.  81FE C0270900 CMP ESI,927C0                  ★改这里
0040290A      7E 08         JLE SHORT 00402914                  这里必须跳否则完蛋
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
choas 2009-8-26 16:37
16
0
上传的附件 dumped_fix.part1.rar (878.9 KB, 0 次下载)  [谁下载?]
dumped_fix.part2.rar (180.9 KB, 0 次下载)  [谁下载?]
运行还是出错啦!
雪    币: 390
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hydon 2009-8-26 17:38
17
0
这个呢?刚才那个好像忘了保存了。。。。。
上传的附件:
雪    币: 864
活跃值: (145)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
Aiikang 2009-8-26 17:55
18
0
[QUOTE=hydon;676867]处理好iat和附加数据后

patch自校验,一共两处

004027BD  |.  8BB5 DCFDFFFF MOV ESI,DWORD PTR SS:[EBP-224]
004027C3  |.  66:C743 10 08>MOV WORD PTR DS:[EBX+10],8...[/QUOTE]

呖 ..试试看一下~~
谢谢兄弟
游客
登录 | 注册 方可回帖
返回