首页
社区
课程
招聘
反汇编的一个小问题,大家来看看
发表于: 2005-2-6 20:13 4070

反汇编的一个小问题,大家来看看

RoBa 活跃值
16
2005-2-6 20:13
4070
做了个小反汇编引擎,测试时出了个小问题:机器码0F9EFF的解释,我的反汇编认不出,而Ollydbg、Hiew和W32Dasm都把它翻译为 setle bh,但是在Intel IA-32 Vol2B 的附录B中对SET系列指令是这么写的:

SETcc - Byte Set on Condition

register              0000 1111 : 1001 tttn : 11  000 reg
memory                0000 1111 : 1001 tttn : mod 000 r/m
                                                  ***
第三个字节的456位必须为0才行,而0F9EFF实际上为0000 1111 1001 1110 1111 1111,并不满足条件。

问题是,我该听INTEL的还是听那三个大大的?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 392
活跃值: (909)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
2
未公开指令?
2005-2-6 20:55
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
3
根据 Vol2 的第 2 章 Instruction format,那个 ModR/M 表的解释
0F9EFF 的确是解作 setle bh
Mod : 11 , Reg/Opcode : 111 , R/M : 111

我估计是 appendix B 那里印错了  
2005-2-6 22:36
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
4
寒~~~~还得前后参照啊,我只看着那个附录做的,不知手册里这样的错误有多少~~~~
2005-2-7 00:53
0
雪    币: 1223
活跃值: (469)
能力值: (RANK:460 )
在线值:
发帖
回帖
粉丝
5
据传说,这本手册错误多多
2005-2-7 11:08
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
6
我的写法跟你不同,我是用 appendix A 的 opcode map 来做,翻译 ModRM时根据第 2 章的表来查,只要 app A 的数据没有错,便可以把表的指令解译
2005-2-7 13:54
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
正是我想学的内容之一,可惜我还看不懂.
2005-6-22 11:49
0
雪    币: 229
活跃值: (168)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
我用hdasm64也是SETLE BH
2005-6-22 13:32
0
游客
登录 | 注册 方可回帖
返回
//