首页
社区
课程
招聘
[旧帖] [求助]98记事本的脱壳问题,请帮忙看看下 0.00雪花
发表于: 2009-8-16 18:00 1311

[旧帖] [求助]98记事本的脱壳问题,请帮忙看看下 0.00雪花

2009-8-16 18:00
1311
以下是98记事本的脱壳教程
0040D001 >  60              PUSHAD         数据压栈
0040D002    E8 03000000     CALL NOTEPAD.0040D00A  在这里要按键盘F7键进入 ,否则程序就运行了

这是第一个问题:是不是有call 的地方就要单步进入,这是为什么。

0040D007  - E9 EB045D45     JMP 459DD4F7
0040D03C    FF95 4D0F0000   CALL DWORD PTR SS:[EBP+F4D]
按键盘F7键来到这里:
0040D00A    5D              POP EBP         
0040D00B    45              INC EBP
0040D00C    55              PUSH EBP
0040D00D    C3              RETN   ………………………………..…在这里返回40D008
0040D00E    E8 01000000     CALL NOTEPAD.0040D014
0040D013    EB 5D           JMP SHORT NOTEPAD.0040D072

0040D008   /EB 04           JMP SHORT NOTEPAD.0040D00E ……….直接跳向0040D00E
0040D00A   |5D              POP EBP
0040D00B   |45              INC EBP
0040D00C   |55              PUSH EBP
0040D00D   |C3              RETN
0040D00E   \E8 01000000     CALL NOTEPAD.0040D014 来到这里,在这里要按键盘F7键进入 ,否则程序就运行了

0040D013    EB 5D           JMP SHORT NOTEPAD.0040D072
0040D015    BB EDFFFFFF     MOV EBX,-13
按键盘F7键来到这里:
0040D014    5D              POP EBP         
0040D015    BB EDFFFFFF     MOV EBX,-13
0040D01A    03DD            ADD EBX,EBP
0040D01C    81EB 00D00000   SUB EBX,0D000
0040D022    83BD 22040000 0>CMP DWORD PTR SS:[EBP+422],0
0040D029    899D 22040000   MOV DWORD PTR SS:[EBP+422],EBX
0040D02F    0F85 65030000   JNZ NOTEPAD.0040D39A …………在这里跳转未实现,我们要让它跳转,按回车键,再按键盘F4键,使得跳转实现。

这里是第2个问题:为什么要让它跳转,他在OD里是不成功的跳转,什么情况下要这样做?

0040D3AF    61              POPAD …………..栈弹出
0040D3B0    75 08           JNZ SHORT NOTEPAD.0040D3BA
0040D3B2   |B8 01000000     MOV EAX,1
0040D3B7   |C2 0C00         RETN 0C
0040D3BA   \68 CC104000     PUSH NOTEPAD.004010CC OEP…………..压栈
0040D3BF    C3              RETN  跳向程序入口点

来到:
004010CC    55              PUSH EBP  在这里就可以dump了
  
这是第3个问题:popad应该是壳的出口点了,为什么要到pupsh ebp dumap呢?

新手啥也不懂麻烦大家了,谢谢。

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 83
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
第一个问题,并非所有的CALL 都要看,但是你得找到 关键CALL和关键跳,当然,使你跑飞的CALL 那也一定要看
第二个问题,"他在OD里是不成功的跳转",其它他也应该有成功跳转的,可能是因为时候还没到,或者是由于花指令或者是壳的原因.你可以试一下,加个 条件断点,看看.
第三个问题,既然你都说了是 壳的出点,那接下来就应该到程序的OEP啦,所以要脱壳,当然是要程序入口脱,这就跟脱衣服一样!
愚见
2009-8-18 09:07
0
雪    币: 1099
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
还是问问其他高手吧
2009-8-18 09:12
0
游客
登录 | 注册 方可回帖
返回
//