首页
社区
课程
招聘
奇怪的跳转
发表于: 2009-2-7 15:17 3138

奇怪的跳转

2009-2-7 15:17
3138
程序中有一个错误的提示窗口,用字符串功能找到其位置(如下),但是上下都是空指令,找不到调用或是跳转联系 ,请问怎么知道这其是从哪里"跳转"过来的,谢谢

004027AE      90            nop
004027AF      90            nop
004027B0   .  6A 00         push    0
004027B2   .  68 C0724400   push    004472C0                         ;  注册
004027B7   .  68 AC724400   push    004472AC                         ;  对不起,错误哈
004027BC   .  E8 91CB0200   call    0042F352
004027C1   .  C3            retn
004027C2      90            nop
004027C3      90            nop
004027C4      90            nop
004027C5      90            nop

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
方法一:选中004027B0   .  6A 00         push    0, 然后按Ctrl + R,察看引用列表
方法二:运行到004027C1   .  C3            retn, 然后F8单步,看返回到哪里

都有局限性,因为这一段上面都是nop,所以可能跳转可能到上面任何一个nop,所以方法一不一定能查到。如果原来的地方不是用call而是用push + jmp,方法二也不一定好使。实在不行,就等到他快跳出这个错误的时候,直接用Trace,然后看记录,一定能找到。
2009-2-7 15:27
0
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
3
楼上正解....
2009-2-7 15:31
0
雪    币: 222
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
哇,CTRL+R 原来有这个作用啊.虽然没有看到结果

方法二, 傻了,我

谢谢楼上的兄台
2009-2-7 15:32
0
游客
登录 | 注册 方可回帖
返回
//