首页
社区
课程
招聘
[原创]64位反汇编引擎
2011-2-7 00:34 13476

[原创]64位反汇编引擎

2011-2-7 00:34
13476
64位反汇编引擎 by 天径

过年时间充裕,自己写了个X64的反汇编引擎。

现在完成了最重要的部分,1字节操作码除了X87指令都能识别,2字节操作码大部分是那种用MMX寄存器的东西,暂时只能识别一般功能的指令,不过下次会把剩下的全部加上去。

对于冗余前缀和部分不正确的指令,已经留下了接口下次加入全面检测,不过反汇编主要是用来对正确的代码逆向,所以关系并不大。

附件里有用的文件是TJ_DisassemblerX64kernel.h和TJ_DisassemblerX64kernel.cpp
只要将.h文件include到自己工程里就能用,但是暂时TJ_DisassemblerX64类只用来实验,用Release方式运行的实验效果:


如果有什么建议,或发现什么问题,希望能提出来,这样能更快的完善程序。现正在处理将跳转指令后面的立即数变成地址(指令实际上就是那样,逆向工具里给的是经过加工的,方便阅读)

详细见附件(VS2010)

反正帖子没评价,先放空间慢慢折腾,写完整换个地
http://user.qzone.qq.com/286725385/blog/1297488941

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

上传的附件:
收藏
点赞6
打赏
分享
最新回复 (8)
雪    币: 31
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
邋遢鬼 2011-2-7 11:50
2
0
好东西啊,先顶了
雪    币: 324
活跃值: (26)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
CYBER涛 1 2011-2-7 12:54
3
0
支持!好棒,楼主能不能讲解一下opcode是怎么解析的啊?是用归类还是switch那?最近也在看的,想动手写一个
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
cntrump 13 2011-2-7 13:10
4
0
可以在x86系统下静态分析 x64么?
雪    币: 205
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
天径 1 2011-2-7 14:34
5
0
小块小块的归类,整体采用接近2分法方式查找,这样处理速度快,不然1字节代码就2百多个,平均判断1百次了。
雪    币: 205
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
天径 1 2011-2-7 14:35
6
0
额,我的系统是WIN7 X64的,所以就干脆把程序也设计成X64的
雪    币: 205
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
天径 1 2011-2-7 14:38
7
0
设计的过程中,还发现IDA在逆向不常见编码方式经常出错,有时候就一边']'
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ccrrr 2011-7-28 13:25
8
0
dsadsa
雪    币: 201
活跃值: (11)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
acel 2011-7-31 19:22
9
0
有没有下载?空间进不去。
游客
登录 | 注册 方可回帖
返回