首页
社区
课程
招聘
[求助]使用SoftICE的一个问题,关于执行流程。
发表于: 2007-7-2 10:32 5038

[求助]使用SoftICE的一个问题,关于执行流程。

2007-7-2 10:32
5038
如何知道被断下来的那个地址之前,指令是从什么地方过来的?

比如,我现在跟进了一个函数,我可以一直跟到他返回,那么就知道了调用他的指令的地址,但是发现有些程序会直接JMP到函数之外,也就是JMP到RET指令之后,这时,我该怎么知道,在JMP出去之前,是哪个地方调用了他?

历史记录里面应该有记录,但是该如何看这个记录呢?

谁直接告诉我一下,或告诉我到哪里能查到?

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
OllyICE帮助文档里有这一句:
Ctrl+J -列出所有的涉及到该位置的调用和跳转,在您用这个功能之前,您必须使用分析代码功能。

  在实际调试中我发现,如果是利用堆栈调用函数, ctrl + J 好象侦察不到。一些壳总喜欢这么干的。如Asprotect:


00001 push 函数A地址 ; esp -= 4
00002 call  00004 ;       esp -= 4
00003  retn          ;        esp += 4
00004  retn          ;        esp += 4

函数A:
...


俺也是菜鸟级,希望对你有所帮助,也期待高手赐教。
2007-7-2 11:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼上的有点意思!
2007-7-2 13:03
0
游客
登录 | 注册 方可回帖
返回
//