首页
社区
课程
招聘
[注意]RobbyDASM v0.002 新鲜出炉 呵呵
发表于: 2005-2-7 12:25 10059

[注意]RobbyDASM v0.002 新鲜出炉 呵呵

RoBa 活跃值
16
2005-2-7 12:25
10059
RobbyDASM v0.002 新鲜出炉 呵呵

欢迎测试 RobbyDASM v0.002

在上一版单纯的反汇编引擎上做了很多扩充:

+ 修复一堆小BUG,都是一走神敲错了一个字导致反汇编结果大不一样,还在持续修复中……
+ 支持PE文件的反汇编
+ 支持跳转交叉参考
+ 支持串式参考(完美支持中文 ^_^)
+ 支持函数调用参考

现在已经基本包括了W32DASM的主要功能,下一步就是做个图形界面了。

使用说明:

双击运行控制台程序,输入要反汇编的PE文件名,显示一些文件信息后就开始工作,注意因为没有进度条显示,反汇编较大文件可以时间较长,请耐心等待。结果保存在一个文本文件里,这个文本文件名是在原PE文件后加上".txt"。输出结果与W32DASM类似,在文件最后会用有一个串式参考的列表。如果您发现输出结果与W32DASM相比有明显错误,请告诉我。

PS:测试时请选择较小的PE文件(最好小于100K),因为是直接输出到磁盘文件上,以后打开一个几M或几十M的文本文件也不是容易的事*_* 等加上图形界面后应该会好啦。

如果大家有兴趣可以反汇编一些不同编译器产生的文件,主要是看那些引用参考是不是正常,据我测试对VC和MASM的反汇编基本没有问题,对VB和DELPHI似乎会有时识别不出,我正在逐步进行改进,也欢迎各位提出建议。

基本没有加入异常处理,因此出现错误往往会导致“非法操作”,请注意。

如果您有什么意见和建议,欢迎在楼下回贴或与我联系。EMAIL: robaggio269[at]163.com

RoBa 05-2-12

--------------------------------------------------------------------
(下面是以前的内容)

感谢您有兴趣帮我测试这个引擎(RobbyDASM v0.001)。

首先要说的是,这只是一个极不完善的雏形,命令行界面,不能反汇编整个文件,不支持浮点、SSE、SSE2、3DNOW!等扩展指令集,呵呵,别担心,它还是能认出大部分实际中常见指令的。它离实用的“软件”还有一定距离,不过等BUG排除的差不多的时候我会继续下去的。

双击即可运行,可以输入一条代码或连续的多条代码(小于1000字节,尚不支持文件的反汇编),输入"quit"退出程序。

我写程序时参考的是W32DASM的表示形式,因此可能与您常用的反汇编器略有出入,不过一定很明显就能看出来的啦。

btw: 因为JMP,CALL后面的地址是相对地址,只有在程序中才有确定的意义,在我的引擎中这个后面只显示这个相对偏移,不会出现如0040xxxx之类的VA,这一点会与用W32DASM等反汇编时的结果不同。

感谢老罗的缤纷天地网站(www.luocong.com)和轻描淡写论坛(www.luocong.com/bbs)上高手们关于这方面的讨论,给我有很多有益的启示,感谢Oleh Yuschuk无私提供的源码,我这个小程序的很大程度上是参考该源码做的(但愿有一天他能看到这份声明),and what's more ,感谢看雪论坛上的所有人

做这个真的很累人,我是深更半夜一边塞着耳机听歌一边机械地敲键盘,到现在为止我几年来积累的两百多首歌已经听完一遍了*_*. 这种长时间机械劳动难免会出错,尽管我自己测试时已经检查出了一大堆BUG *_*,肯定还有更多我没有查出来的,更何况作为原始依据INTEL手册本身都有错误@_@ 如果您发现程序对某条代码的反汇编有误(与某个经典反汇编器的结果不一致),请在楼下回贴或给我发EMAIL:robaggio269@163.com 或在我的主页上留言roba.blogchina.com

谢谢!

                                               RoBa
                                              05-2-7

附件:r32dasm0.002.zip

原有附件:RobbyDASM.zip,请斑竹删除

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

收藏
免费 0
支持
分享
最新回复 (36)
雪    币: 1223
活跃值: (469)
能力值: (RANK:460 )
在线值:
发帖
回帖
粉丝
2
不错,支持一下

下载一个回去测试
2005-2-7 12:36
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不管怎么样还是要支持的
2005-2-7 12:37
0
雪    币: 296
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
4
支持,好好休息一下
2005-2-7 12:49
0
雪    币: 258
活跃值: (230)
能力值: ( LV12,RANK:770 )
在线值:
发帖
回帖
粉丝
5
我也之一下。。。。
2005-2-7 14:36
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
6
支持你!
加油继续!
2005-2-7 14:45
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
7
支持,辛苦了
2005-2-7 15:35
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
8
加油, 支持,一定会更好,谢谢你提供
2005-2-7 18:52
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
支持!坚决支持!
2005-2-7 18:56
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
10
偶也支持!
2005-2-7 21:23
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
11
兄弟,写个使用使用说明吧。我就看到wirtefile了enjoy it,就困的睡觉去了。
2005-2-7 21:50
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
12
最初由 nbw 发布
兄弟,写个使用使用说明吧。我就看到wirtefile了enjoy it,就困的睡觉去了。


嘿嘿,可能前面说的太简单了。没啥功能,就是你输入一串十六进制表示的机器码(不要空格),它输出对应的汇编指令,比如输入9090,按回车,会输出两行NOP,就这么简单回事儿,如果输入的是奇数位如909,会把最后一个数忽略掉。

Enjoy it!
2005-2-8 00:57
0
雪    币: 257
活跃值: (369)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
13
测试了一下,建议写个说明,Enjoy it!
2005-2-8 03:34
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
14
深了。。。

我以为输入 nop ,会出来 90, 搞了半天搞反了
2005-2-8 13:22
0
雪    币: 392
活跃值: (909)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
15
支持了,写反汇编器是件苦差事
2005-2-8 14:12
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
16
出新版了,顶一下
2005-2-12 13:39
0
雪    币: 1223
活跃值: (469)
能力值: (RANK:460 )
在线值:
发帖
回帖
粉丝
17
提议把这个做成库,造福后人
2005-2-12 13:50
0
雪    币: 2943
活跃值: (1788)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
18
强烈支持!!!
2005-2-12 14:33
0
雪    币: 238
活跃值: (250)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
19
高手,辛苦了!!支持!!!

我用它反汇编一个1.75MB的ACProtect加壳的会出现非法操作,显示虚拟内存太低
希望楼主继续努力!!
2005-2-12 14:45
0
雪    币: 208
活跃值: (376)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
20
支持,试试!
2005-2-13 13:08
0
雪    币: 257
活跃值: (369)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
21
支持!
下来重新看看
2005-2-13 13:27
0
雪    币: 1593
活跃值: (811)
能力值: ( LV13,RANK:370 )
在线值:
发帖
回帖
粉丝
22
支持,反汇编器写到后期纯粹是个体力活。对了,显示输出是否有些问题?例如:

00406C6F:72  JB 00406C62


opcode不可能只是0x72一个字节吧?
2005-2-14 00:18
0
雪    币: 335
活跃值: (263)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
可以加上dos反汇编功能?
2005-2-14 09:03
0
雪    币: 265
活跃值: (430)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
24
支持,辛苦了。
2005-2-14 13:24
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
25
最初由 luocong 发布
支持,反汇编器写到后期纯粹是个体力活。对了,显示输出是否有些问题?例如:

00406C6F:72  JB 00406C62


opcode不可能只是0x72一个字节吧?


当然不是咧……
我是仿照WKTVBDBG反编PCODE的形式,只显示了第一个字节,我觉得还清楚些。如果各位觉得不好我再改回去

BTW:这个东东比W32DASM慢了太多,我已经发现原因了。我一直以为查表那部分是个瓶颈,光冲那块优化了。后来发现是占用内存空间太大了,导致程序频繁访问硬盘。用了好几个链表,结果反而弄巧成拙,惭愧 现在问题已基本解决,速度能赶上W32DASM了(当然我的程序支持的指令集很少也是一方面原因)

正在做GUI界面,请各位继续关注……
2005-2-14 16:11
0
游客
登录 | 注册 方可回帖
返回
//