首页
社区
课程
招聘
[求助]TF单步中断
发表于: 2008-5-26 18:00 8710

[求助]TF单步中断

2008-5-26 18:00
8710
有文章这样说,OD中按F7会把TF置1,再执行指令,这样就引发了单步中断,停在下一条指令处!但若要执行的指令是把TF置0,如:

pushfd
and     dword ptr [esp], FFFFFEFF;TF=0
popfd

,那OD在执行popfd时会不会无法单步(跑飞)?
实践好像不是这样……

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
先执行指令呢还是先判断TF标志位?
2008-5-27 09:25
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
nop
nop
pushfd
or    dword ptr [esp],100h;TF=1
popfd
nop
nop
你们认为单步停在哪里?(OD用F9)
令人不解的是停在最后一个nop上!!
2008-5-27 16:03
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
如果先判断TF位在执行的话,上面两段程序就可以解释了……

附上:
80386 的单步功能通过陷阱来实现。单步陷阱在
EFLAGS 寄存器中的 TF 位置位时启用。在一条指令开始执行时,如果有 TF=1,则在指令执行
的末尾产生调试异常,并进入调试处理程序。在这里, “指令开始执行时,TF=1”这一条件
是重要的。有此条件的限制,使 TF 位置位 1 的指令不会产生单步陷阱。每次产生单步陷阱Linux源码分析(ptrace)
第10页
之后,在进入调试处理程序之前要将 TF 位清除。此外,在处理中断或异常时,也清除 TF
位。
http://211.157.110.165/E-book_Video_Audio_Tutorial/20070216/964.pdf

不知大家怎么看?
2008-5-27 16:04
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
还是自己来:
The processor generates a single-step debug exception if (while an instruction is
being executed) it detects that the TF flag in the EFLAGS register is set. The excep-
tion is a trap-class exception, because the exception is generated after the instruc-
tion is executed. The processor will not generate this exception after the instruction
that sets the TF flag. For example, if the POPF instruction is used to set the TF flag, a
single-step trap does not occur until after the instruction that follows the POPF
instruction.
2008-5-27 16:46
0
雪    币: 277
活跃值: (106)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
6
nop
nop
pushfd
or    dword ptr [esp],100h;TF=1
popfd
nop
nop

这行代码不错。。。貌似你发现了新版OD的一个BUG么。。。在老版上不会出这个问题。
2008-5-28 00:15
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=angelqkm;459215]nop
nop
pushfd
or    dword ptr [esp],100h;TF=1
popfd
nop
nop

这行代码不错。。。貌似你发现了新版OD的一个BUG么。。。在老版上不会出这个问题。...[/QUOTE]
不是BUG,其它调试器也是这样的。不过不同OD版本对TF位有不同处理
2008-5-29 20:54
0
游客
登录 | 注册 方可回帖
返回
//