首页
社区
课程
招聘
[原创]打造自己的反汇编引擎——Intel指令编码学习报告(五)
发表于: 2008-10-28 22:42 18053

[原创]打造自己的反汇编引擎——Intel指令编码学习报告(五)

2008-10-28 22:42
18053
const char *Register32[] = {"eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi"};
    const char *Register16[] = {"ax", "cx", "dx", "bx", "sp", "bp", "si", "di"};
    const char *Register8[] = {"al", "cl", "dl", "bl", "ah", "ch", "dh", "bh"};
    const char *Address16[] = {"bx+si", "bx+di", "bp+si", "bp+di", "si", "di", "bp", "bx"};

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (11)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
今天轮我占沙发了
2008-10-28 23:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4x9
3
太好了,认真拜读中
2008-10-28 23:42
0
雪    币: 111
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
. 每贴必顶!
2008-10-29 11:54
0
雪    币: 250
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
收藏了+学习
楼主辛苦了
2008-10-29 22:53
0
雪    币: 211
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不错,拜读,支持,鼓励
2008-10-30 01:27
0
雪    币: 251
活跃值: (25)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
7
这个系列连起来就是一个简明教程
2008-10-30 10:00
0
雪    币: 2575
活跃值: (502)
能力值: ( LV2,RANK:85 )
在线值:
发帖
回帖
粉丝
8
egogg功底扎实,应是搞研究出生的
2008-10-30 11:19
0
雪    币: 561
活跃值: (124)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
不错,学习了
2010-10-5 13:31
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
拜读了,很好,作者非常认真;明白原理后,依然需要大家自己多动手熟悉,不然会白读了。
2011-10-19 17:16
0
雪    币: 166
活跃值: (230)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
做了下练习题,竟然发现这种事情...cisc真实复杂...
00401006      03FB          add     edi, ebx
00401008      01DF          add     edi, ebx
2012-12-24 21:41
0
雪    币: 68
活跃值: (30)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
这个确认需要用到另一张表 楼主没说

这个表在Volume2: -》Appendix A Opcode Map  传说中最核心的表
:Table A-2. One-byte Opcode Map: (00H — F7H)  在1753页
能定位目标操作数和源操作数的关系和规则
03     0排3列  为 MOV Gv ,Ev
01     0排1列  为 MOV Eb,Gb

E 操作数是 REG/MEM  寻址方式有ModRM表的R/M提供寻址
G 操作数是REG            寻址方式由ModRM的REG提供寻址

b代表Byet字节 8位  v代表Word或DWord或Qword依赖与前缀或实际寄存器情况

所以配合后面FB和DF 能很好定位格式中能填入的关系表达式
2014-12-3 21:08
0
游客
登录 | 注册 方可回帖
返回
//