首页
论坛
课程
招聘
[旧帖] [求助]谁能详解一下INTEL两字节指令表《Table A-3. Two-byte Opcode Map》? 0.00雪花
2010-4-26 01:19 1495

[旧帖] [求助]谁能详解一下INTEL两字节指令表《Table A-3. Two-byte Opcode Map》? 0.00雪花

2010-4-26 01:19
1495
如题,我想编写一个解析机器码中单条语句长度的程序,现已完成单字节指令(即表A-2)的解析,但对于两字节指令,我还不大理解,在OllyDBG中也不能完整地分析。请高手指点,谢谢!

看雪招聘平台创建简历并且简历完整度达到90%及以上可获得500看雪币~

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 5508
活跃值: 活跃值 (990)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
option 活跃值 2010-4-26 10:30
2
0
变长编码,想想电话号码就知道原理了
雪    币: 115
活跃值: 活跃值 (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tengte 活跃值 2010-4-26 23:50
3
0
不明白楼上的意思。我知道两字节指令的第一个字节为0F,但对第二字节的解析方式还不太清楚,如0x0F10该如何解析呢?在OD中输入二进制F20F10时,结果如下:
00404ADC      F2:                      PREFIX REPNE:                                      ;  多余的前缀
00404ADD      0F1090 90909090          MOVUPS XMM2,DQWORD PTR DS:[EAX+90909090]
又如,输入二进制0F1090和660F10时,结果如下:
00404AC5      0F1090 90909090          MOVUPS XMM2,DQWORD PTR DS:[EAX+90909090]
00404ACC      66:0F1090 90909090       MOVUPS XMM2,DQWORD PTR DS:[EAX+90909090]

根据表A-3,这两者应该是不一样的(movups与movupd (66)),不知道是什么原因?请高手指点!
雪    币: 2892
活跃值: 活跃值 (478)
能力值: ( LV13,RANK:1300 )
在线值:
发帖
回帖
粉丝
HighHand 活跃值 11 2010-4-27 08:21
4
0
OD对SSE指令不完全支持,VS2005什么的比较全。
雪    币: 115
活跃值: 活跃值 (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tengte 活跃值 2010-5-7 00:22
5
0
谢谢楼上,但我对VS2005不大熟。不知道VS2005中能不能像OD中一样,输入二进制就可看到反汇编的结果呢?
游客
登录 | 注册 方可回帖
返回