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

[原创]64位反汇编引擎

2011-2-7 00:34
14171

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


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

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