首页
社区
课程
招聘
[求助]脱壳成功, 为什么无法运行?
发表于: 2009-4-11 12:16 4144

[求助]脱壳成功, 为什么无法运行?

2009-4-11 12:16
4144
刚学习"天草"脱壳的第一课, 比对了一下, 过程和教程里的差不多一样,

开始:
005FCA81 >  60              PUSHAD
005FCA82    9C              PUSHFD
005FCA83    E8 00000000     CALL rejoice.005FCA88

下硬件断点, 到这里断下:
005FCCA5    9D              POPFD
005FCCA6  - E9 4560F2FF     JMP rejoice.00522CF0
005FCCAB    8BB5 83F9FFFF   MOV ESI,DWORD PTR SS:[EBP-67D]
005FCCB1    0BF6            OR ESI,ESI
005FCCB3    0F84 97000000   JE rejoice.005FCD50
005FCCB9    8B95 87F9FFFF   MOV EDX,DWORD PTR SS:[EBP-679]

断在了005FCCA5 里了, 这里跟"天草"的不一样, 他那个是
push ebp
mov ebp,esp
add esp,-1c

之类的, 不像我的
POPFD
JMP rejoice.00522CF0
MOV ESI,DWORD PTR SS:[EBP-67D]

郁闷了好久, 始终找不到入口点.

今天看到了一篇文章, 按上面的方式试了一下用 00522CF0-00400000
得出入口点00122CF0, 这个入口点跟教程里的是一样的, 不知道对不对

接下来跟教程里的一样, 用LoadPe 脱壳, 再用Import Rec修复..

用PEid 查看, 没壳了, 语言是 Borland Delphi 6.0 - 7.0

现在问题是脱壳了, 双击却运行不了, 不像天草里有错误提示, 啥反应都没有,

请问谁知道是怎么回事啊?

附件是我脱壳后的文件, 高手帮忙看看!!!

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 485
活跃值: (78)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
步骤有问题!仔细检察下!
2009-4-11 12:19
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
步骤一样的, 脱壳出来的文件, OD里看到的跟教程里是一样的.

只是不知道脱壳的原文件跟天草的是不是一样的, 教程里的源文件被删了, 我是另外在网上下载的, 版本号一样.
2009-4-11 12:45
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我又仔细观察了一遍,
天草的到这里
005FCCA6  - E9 4560F2FF     JMP rejoice.00522CF0
按F8步过, 进入的是
00522CF0   55     push  ebp

我到这里
005FCCA6  - E9 4560F2FF     JMP rejoice.00522CF0
按F8步过, 进入的是
00522CF0      55            DB 55
00522CF1      8B            DB 8B
00522CF2      EC            DB EC

不知道为啥?
2009-4-11 13:54
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
没人理我

已经找到问题所在了, 希望跟我一样刚入门学习脱壳的朋友可以少走点弯路!!!

跟踪到这里
005FCCA6  - E9 4560F2FF     JMP rejoice.00522CF0
按F8步过, 进入的是
00522CF0      55            DB 55
00522CF1      8B            DB 8B
00522CF2      EC            DB EC

这里, 跟天草教程里面不一样, 但没关系, 右键"分析"->"从模块删除分析"
就变成这样了
00522CF0    55              PUSH EBP
00522CF1    8BEC            MOV EBP,ESP
00522CF3    83C4 E4         ADD ESP,-1C
00522CF6    53              PUSH EBX
00522CF7    B8 F0275200     MOV EAX,rejoice.005227F0

看, 是不是和教程里面的一样了.

这只是第一步而已, 虽然已经找到正确的入口点, 我后面的那几步操作不一致才会导致文件无法运行.

接下来的一下非常重要, 由于OD调试时, 已经有进程rejoice了, 所以不需要再打开rejoice
直接用LoadPe, 脱壳,

我错误的操作是记录下入口点, 关掉OD -> 打开rejoice -> LoadPe 脱壳 -> Import REC修复

正确的应该是记录下入口点 -> LoadPe脱壳 -> Import REC修复

最后, 接教程里的步骤进行就可以了.

好像还可以用LoadPe 重建一下PE表, 文件大小会小一点, 暂时不知道有啥用处!

继续学习中.
2009-4-11 14:38
0
游客
登录 | 注册 方可回帖
返回
//