首页
社区
课程
招聘
[求助]如何知道断点的上一句命令在什么地方呢?
发表于: 2007-3-7 21:34 4752

[求助]如何知道断点的上一句命令在什么地方呢?

2007-3-7 21:34
4752
比如我在这里断下来了:00403853  |.  57            PUSH EDI
我如何知道这一句前面的执行了哪一句呢?(不一定是顺着执行的),我曾试图用RUN跟踪,但发现根本不起作用,它根本就没纪录程序依次执行了哪些命令!请问有什么办法知道呢?

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 281
活跃值: (2880)
能力值: ( LV12,RANK:610 )
在线值:
发帖
回帖
粉丝
2
call stack
2007-3-8 09:09
0
雪    币: 47147
活跃值: (20380)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
用反汇编工具,如IDA 交叉参考功能,可以自动标注哪些指令跳过来。
2007-3-8 09:15
0
雪    币: 226
活跃值: (30)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
看堆栈, 因为在调用任何一个函数的时候
会把该地址的下一个地址压入堆栈。
一搬ollyice会给出提示 “返回到 ****.*****”
将光标定位上面 按回车 就可以找到汇编代码住
也可以一直执行到retn
这样就返回到了原来call的地方了
2007-3-8 09:19
0
雪    币: 235
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
晕,不一定是CALL过来的啊!而且花指令很多!
2007-3-8 11:40
0
雪    币: 226
活跃值: (30)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
6
那参考坛主的方法
2007-3-8 11:49
0
雪    币: 101
活跃值: (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
7
基本上没好办法。
可以下个断点然后trace。 耐心等会。
2007-3-8 13:15
0
雪    币: 235
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
楼上的方法可以具体讲讲吗?
2007-3-8 20:22
0
雪    币: 101
活跃值: (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
9
设置trace condition, 把所有条件都删除
然后在你的这个端点前开始trace,  ctrl+f11,
碰到你这个断点则会停.
这时可以view->run trace查看最近的一些指令.

不过由于是单步进行, 请在这个断点前不远开始,
并且最好不要含有其他的断点或者seh.
2007-3-9 08:50
0
游客
登录 | 注册 方可回帖
返回
//