• 赞助网站
  • 您的位置:  首页 >> 技术交流区 >> 双模机 >> 海尔/国芯反汇编程序2.0版(支持源文件格式)
    海尔/国芯反汇编程序2.0版(支持源文件格式)
    2010年03月22日 点击: 编辑: byzx
    ——————————————————
    重要说明:AJMP/LJMP 还有待完善,目前发现尚存在问题!如果有人发现编码规律,请发消息给我。

    虽然知道存在问题,但目前还出不了修正版,希望高人研究一下问题如何解决,谢谢!

    为了方便大家研究,附上一个51指令表,我就是依据此表进行反汇编工作的。
    ——————————————————


    这个可是支持大海尔哟。

    兼容标准8051指令集,可反汇编所有指令。

    不多说了,得睡觉去。

    上一个图,懂行的一看自然明白。
    ——————————————————
    V1.1版
    今天起来一看,错误还真不少,首先改正了一个AJMP和ACALL分不清的问题,然后又改正了一个长转移和超长转移自适应的问题,最后对性能进行了提升,使速度成倍加快。

    为了方便大屏幕的大侠们查看程序,程序窗口可以拉长,信息框会自动跟着增长。

    另外,对输出格式进行了调整,返回指令后加分隔线,长转移指令后加空行。

    还有,程序去掉了对00(NOP)和FF(MOV R7,A)反汇编结果的输出,看起来更清爽一些。
    ——————————————————
    V1.5测试版
    目前增加了指定数据段不产生汇编代码的功能,只定义成字节数据
    另外增加了结束地址和长度双重设定,且自动计算。
    还有,改进了算法,速度又比原来快了一倍,估计已经达VB的极限。

    不得不遗憾的指出,本版本也一样不能正确判断转移和调用指令。
    作者一直在分析中,希望有分析能力的会员共同努力,让程序早日发挥作用。

    一旦有什么新发现,请PM我。

    新版的用法见样图。
    ——————————————————
    V1.5版
    增加跟踪功能,用法是在下面的代码窗口中双击选定一个地址,点右上的钮就可以从该地址开始反汇编。用于在分析快速查找目标位置。这时可以把长度设定的小一些,例如1000字节之内。

    恢复NOP指令的输出。因为仅供分析用,去掉了16进制常数的H后缀。
    修正了开始地址大于FFFF时不进行处理的BUG。
    ——————————————————
    V1.5增强版
    增加返回功能,可以在跟踪跳转后,快速返回原来的位置。
    修正了改变长度时,结束地址不变化的一个BUG。
    ——————————————————
    V2.0
    特别感谢quicktime大侠所做的工作,是他冒着机器成砖的风险用真机进行跳转和转移指令测试,才有了这个版本的诞生!详情见置顶帖"关于boot的小秘密..."。

    正确解析扩展指令,支持源格式(不带指令码,数据后加H)。
    可以随时切换模式(包括扩展与否),并点跟踪钮重新以新格式处理(不重新读文件)
    跟踪方式只取选中地址的后4位!可以直接双击地址栏选取,那怕选上了L和:

    为了方便对比分析,各版本均可下载。当然后面的版本在某些方面要好一些。

    ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
    另外发现,还能把国芯的反汇编出来呢,改一下标题。
    ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
    赞助网站 | 关于我们 | 版权声明 | 站点导航 | 收藏本站 | 设为首页