易码技术论坛

 找回密码
 加入易码
搜索
查看: 547941|回复: 22

[工具] [分享]一个未完成的东东,bin反汇编工具

[复制链接]
发表于 2006-4-8 23:53:00 | 显示全部楼层
[upload=rar]viewFile.asp?ID=5792[/upload]
使用方法:

首先选择一个文件,然后设置好文件的打开位置及反汇编开始地址

[upload=jpg]UploadFile/2006-4/2006482338712221.jpg[/upload]

在预览汇编文件时,按上下键前移或后移一个指令,左右键前移或后移一个字节.




[upload=jpg]UploadFile/2006-4/20064823424264469.jpg[/upload]

按F1键插入数据块






[upload=jpg]UploadFile/2006-4/20064823445092710.jpg[/upload]

按'r'键浏览数据块,浏览数据块时按'F2'删除光标所在数据块,'F4'修改..数据块属性

注: 属性1表示byte,属性2表示ASSIC,属性3表示word




[upload=jpg]UploadFile/2006-4/2006482348846569.jpg[/upload]

按's'键将数据块设置信息保存为dat文件,'L'键读取已保存的数据块信息,'r'键查看数据块信息

按'd'键开始反汇编,按 空格 键跳转到其他地址.


[upload=jpg]UploadFile/2006-4/2006482351323599.jpg[/upload]




反汇编成功后,会生成一个.asm文件与一个.def文件,都是纯文本文件,请用那个GVmaker浏览器阅读.

[此贴子已经被作者于2006-4-9 17:43:00编辑过]

14102_39749_5793.jpg
14102_39749_5794.jpg
14102_39749_5795.jpg
14102_39749_5796.jpg
14102_39749_5797.jpg

14102_39749_5792.rar

16 KB, 下载次数: 382

 楼主| 发表于 2006-4-9 00:03:00 | 显示全部楼层
另,内附源代码,可自行改进.

例:

比如源代码为:

            .org $4010

            jmp main

data    .db  "Hello,world",$00

main

            ldx #$ff

loop        inx

            lda data,x

            sta $02c0,x

            bne loop

            int $c719

            rts

的代码用该工具反汇编后得到的代码是:

  JMP a401F
a4013
  .DB "Hello,world",$00
a401F
  LDX #$FF
a4021
  INX
  LDA a4013,X
  STA a02C0,X
  BNE a4021
  INT iC719
  RTS


            
发表于 2006-4-9 07:39:00 | 显示全部楼层
啊,这个工具用来反汇编最好不过了

省得我改,收下了
发表于 2006-4-9 09:50:00 | 显示全部楼层
好~~回学校可以慢慢研究bin了!!
发表于 2006-4-11 13:23:00 | 显示全部楼层
顶啊,爱死你了Eastsun

好久没上论坛了,一上来就看到那么好的反汇编工具

呵呵,开心啊!!!!




[em01][em01][em01][em01][em01][em01][em01]
发表于 2006-4-11 16:28:00 | 显示全部楼层
的确很好的工具,支持啊!
发表于 2006-4-13 03:42:00 | 显示全部楼层
Eastsun的东东,顶一下:)

嘿嘿,好久不见的说~
 楼主| 发表于 2006-4-13 13:21:00 | 显示全部楼层
这个工具还有个我不太满意的地方:

   对ASSIC数据块处理不好,现在程序处理ASSIC数据块时,碰到第一个$00字节,就会把之后的数据全部处理为byte型.

   这样处理是不够理想的,文曲星上有些字符串是用$ff分隔的.用我这个工具就必须把它分成一个ASSIC和一个byte块进行处理了,这样很不方便.

   如果有人能修改一下就好了:当数据块为assic时,能自动识别出里面的非assic数据,并用byte表示出来.这样可以省很多功夫.



ps: [to FantasyDR]大四了,要做毕业论文,还要听研究生的课,郁闷啊(听不懂[em06])
发表于 2007-1-31 10:36:10 | 显示全部楼层
纪念一下,顶上来!
发表于 2007-1-31 12:06:22 | 显示全部楼层
最好能智能反汇编,自动区分代码&数据
 楼主| 发表于 2007-1-31 13:15:51 | 显示全部楼层
俺本来也是这样想的,不过完全智能似乎不太现实,只是想尽可能简化一下反汇编的工作。
ps:这么老的帖子咋又被挖出来鸟?不知道现在玩wqx6502的还有几许?
发表于 2007-1-31 13:25:46 | 显示全部楼层
嘿嘿,听说拨号上网很贵的!!!
发表于 2007-1-31 13:40:36 | 显示全部楼层
包月的还可以
发表于 2007-1-31 14:15:40 | 显示全部楼层
引用第11楼Eastsun2007-01-31 13:15发表的“”:
不知道现在玩wqx6502的还有几许?

的确啊,估计没几苗了~~~
发表于 2007-1-31 14:21:45 | 显示全部楼层
我早说不要玩汇编了
用什么语言无所谓,重要的是能写出有用的软件,这样才能得到用户的承认
发表于 2007-1-31 15:09:00 | 显示全部楼层
汇编还是挺有意思的!!
发表于 2007-1-31 15:32:25 | 显示全部楼层
用什么语言无所谓,重要的是能写出有用的软件,这样才能得到用户的承认
发表于 2007-1-31 15:46:14 | 显示全部楼层
我们不能放弃汇编  决不能放弃  决不能
 楼主| 发表于 2006-4-8 23:29:04 | 显示全部楼层 |阅读模式
看到litianzzk发布的DasmTools,突然想起我电脑中还有个Bin反汇编工具...

这个东西是去年下半年开始写的,目的是用于反汇编和移植bin文件之用.

大家知道,用一般的6502反汇编工具得到的代码不是很方便移植,其原因是反汇编时把里面的数据也当作代码反汇编了.还有一点就是那些跳转指令后面的地址,以及中断调用在移植时可能需要修改.

这个工具能够在反汇编之前设置好数据块,反汇编时能把数据块用适当的形式表现出来.还有反汇编把那些跳转地址,零页地址及中断调用都用标号代替.

原则上用该工具反汇编得到的文件只要稍做修改就可以用6502Simulator编译.



但工具还没完成,偶的NC3000就坏了,结果中间停止做下去了,而后来很少做6502汇编方面的东东,对wqx的兴趣也淡了.也不想做下去了.

不过现在的东西虽然没做完,但基本上也可以用了(未经严格测试,也许有些bug,自己去改吧)
发表于 2008-1-2 19:27:00 | 显示全部楼层
?????????????????????
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-3-29 13:33 , Processed in 0.012608 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表