首页
社区
课程
招聘
[原创]400行的反汇编引擎,[PK]谁的代码比我更简单
发表于: 2012-3-16 21:53 84925

[原创]400行的反汇编引擎,[PK]谁的代码比我更简单

2012-3-16 21:53
84925
收藏
免费 6
支持
分享
最新回复 (156)
雪    币: 237
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
76
支持,这个可以比。。。
2012-3-22 22:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
77
强!!!!!!!!!!!!!!!!!!!!!
2012-3-24 00:49
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
78
牛哄哄~~~
2012-3-24 02:27
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
79
真的很不错哦
2012-3-24 09:27
0
雪    币: 578
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
80
这个值得看下,代码多的看得头晕
2012-3-24 20:59
0
雪    币: 211
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
81
LZ.整理有几个月了吧..
代码都是共享的..选的都还好..

支持LZ的付出..
2012-3-25 08:22
0
雪    币: 386
活跃值: (46)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
82
贴个图啊,让我们看看真相
2012-3-25 12:01
0
雪    币: 201
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
83
用用先,但是先顶一个
2012-3-25 16:15
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
84
果断支持!!!
2012-3-25 22:25
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
85
很不错呀,谢谢楼主
2012-3-26 16:27
0
雪    币: 417
活跃值: (201)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
86
强大一个字!
2012-3-26 21:12
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
87
真牛x,支持支持
2012-3-27 09:37
0
雪    币: 2194
活跃值: (1001)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
88
   膜拜大牛
2012-3-27 13:27
0
雪    币: 271
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
89
下载收藏,慢慢研究
2012-3-27 13:28
0
雪    币: 1657
活跃值: (291)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
90
LZ是个有耐心的人,写代码要有耐心才行.
2012-3-27 14:45
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
91
多谢分享。。。学习学习
2012-3-29 13:36
0
雪    币: 1839
活跃值: (295)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
92
【引用楼主:  代码格式参照了ollydbg,可以解析ollydbg支持的全部指令(有漏没?)。300多行代码,参考注释不难理解吧?欢迎大家下载指正。】

MMX里面,很多指令没有。部分OD有的,楼主没有。
另外,IDA有的,OD没有,楼主更没有。

比如说: F3 0F 10 46 08  ->   movss   xmm0, dword ptr [esi+8]

pxor    xmm0, xmm0
movq    [esp+44], xmm0
xorps   xmm0, xmm0
fcomip
idiv

cvtsi2ss xmm0, dword ptr [ecx+0Ch]
cvtss2sd xmm1, xmm0
movsd   xmm0, ds:qword_B18990
subsd   xmm1, xmm0
cvtsd2ss xmm1, xmm1
cvtss2sd xmm1, xmm1
cvtps2pd xmm2, xmm2
addsd   xmm1, xmm2
cvttsd2si edx, xmm1
movss   xmm1, [esp+88h+var_6C]
lea     ecx, [esp+88h+var_4C]
cvtps2pd xmm1, xmm1
push    ecx
addsd   xmm1, xmm0
cvttsd2si eax, xmm1

to be continue....
2012-3-29 17:46
0
雪    币: 1839
活跃值: (295)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
93
不过,楼主的指令集差不过够用了。上面的指令,OD也只能解析出来一部分来。
下面是对比:
【OD】
003C0040    F3:0F2A41 0C    cvtsi2ss xmm0, dword ptr [ecx+C]
003C0045    F3:             prefix rep:
003C0046    0F5A            ???                                      ; 未知命令
003C0048    C8 F20F10       enter   0FF2, 10
003C004C    05 9089B100     add     eax, 0B18990
003C0051    F2:             prefix repne:
003C0052    0F5CC8          subps   xmm1, xmm0
003C0055    F2:             prefix repne:
003C0056    0F5A            ???                                      ; 未知命令
003C0058    C9              leave
003C0059    F3:             prefix rep:
003C005A    0F5A            ???                                      ; 未知命令
003C005C    C9              leave
003C005D    0F5A            ???                                      ; 未知命令
003C005F    D2F2            sal     dl, cl
003C0061    0F58CA          addps   xmm1, xmm2
003C0064    F2:             prefix repne:
003C0065    0F2CD1          cvttps2pi mm2, xmm1
003C0068    F3:0F1000       movss   xmm0, dword ptr [eax]

相同的机器码:IDA的结果是:

: cvtsi2ss xmm0, dword ptr [ecx+0Ch]
                 cvtss2sd xmm1, xmm0
                 movsd   xmm0, ds:qword_B18990
                 subsd   xmm1, xmm0
                 cvtsd2ss xmm1, xmm1
                 cvtss2sd xmm1, xmm1
                 cvtps2pd xmm2, xmm2
                 addsd   xmm1, xmm2
                 cvttsd2si edx, xmm1
                 movss   xmm1, [esp+88h+var_6C]
                 lea     ecx, [esp+88h+var_4C]
                 cvtps2pd xmm1, xmm1
                 push    ecx
                 addsd   xmm1, xmm0
                 cvttsd2si eax, xmm1
2012-3-29 18:04
0
雪    币: 543
活跃值: (170)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
94
[QUOTE=fosom;1058472]不过,楼主的指令集差不过够用了。上面的指令,OD也只能解析出来一部分来。
下面是对比:
【OD】
003C0040    F3:0F2A41 0C    cvtsi2ss xmm0, dword ptr [ecx+C]
003C0045    F3:             prefix r...[/QUOTE]

我是用od直接输入十六进制值反汇编得到指令,估计有疏漏。当然od不支持的那就肯定没有了。码代码倒容易,建表是件力气活。几张表要做到完美估计还有相当路要走。
2012-4-1 09:39
0
雪    币: 110
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
95
强大,支持!
2012-4-3 00:31
0
雪    币: 172
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
96
收藏~~
2012-4-4 19:32
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
97
先感激,再细看.
2012-4-4 21:49
0
雪    币: 131
活跃值: (154)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
98
以后在读

支持一下。
2012-4-5 09:14
0
雪    币: 309
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
99
膜拜。。。。。
2012-4-10 14:52
0
雪    币: 130
活跃值: (71)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
100
哈哈,留名,牛啊
2012-4-13 23:55
0
游客
登录 | 注册 方可回帖
返回
//