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

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

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

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

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

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 872
活跃值: (165)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
2
参照论坛里“菜鸟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

但是不能正常运行.

由于是头次手脱.
遇到困难了,请教不忙的高手指点一二..谢谢
2009-8-25 14:15
0
雪    币: 606
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
额。。   这个是一个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 出错,

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

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

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

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

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

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

还是校验文件造成的

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

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

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

哇..高人出现了..

膜拜下...
神人,可否将过程放上来.
让小弟们观模之...
3Q..
2009-8-25 20:52
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我找到的程序入口点是
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修复,但是运行出错!!哪位高手给出解答??
2009-8-26 15:23
0
雪    币: 872
活跃值: (165)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
13
你找的OEP好像不对吧..
应该是004016BC.
2009-8-26 15:42
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
access violation at address 003402b0 in module 'IEXPLORE.exe',Read of address 00000000
2009-8-26 16:07
0
雪    币: 390
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
处理好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                  这里必须跳否则完蛋
2009-8-26 16:24
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
上传的附件 dumped_fix.part1.rar (878.9 KB, 0 次下载)  [谁下载?]
dumped_fix.part2.rar (180.9 KB, 0 次下载)  [谁下载?]
运行还是出错啦!
2009-8-26 16:37
0
雪    币: 390
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
这个呢?刚才那个好像忘了保存了。。。。。
上传的附件:
2009-8-26 17:38
0
雪    币: 872
活跃值: (165)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
18
[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]

呖 ..试试看一下~~
谢谢兄弟
2009-8-26 17:55
0
游客
登录 | 注册 方可回帖
返回
//