51逆向利器

2020-01-19 19:36发布

本帖最后由 xuhai777 于 2013-9-27 19:13 编辑

工作上需要对无源码的古董级51程序进行逆向分析,伟福及其他的51逆向工具都不给力啊,
至少逆向出来的文件都重新编译通不过,还需要大量的手工整理,
于是自己做了一个51逆向利器,和大家分享.^_^
主要功能:
1.完全支持51指令集
2.智能识别7个中断程序入口:定时器3个,串口2个,外部2个
3.智能识别花指令,并跳过干扰
4.优化输出文件,便于分析查找
5.逆向出来的文件直接使用伟福重新编译通过,且对照源.BIN文件完全一致
输入.BIN文件,输出.asm文件
51Code.gif (20.2 KB, 下载次数: 0) 下载附件 2013-9-26 20:03 上传
51Dasm.rar (6.03 KB, 下载次数: 260) 2013-9-26 20:05 上传 点击文件名下载附件


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
79条回答
xuhai777
2020-01-26 10:36
xjavr 发表于 2013-9-27 15:53
没有跑OS,不过初始化文件是我自己写了一个压栈的操作。

PUSH DPL
PUSH DPH
RETI
这个组合跳转在V1.1中能识别了,但要求这三条指令连续,不够完美

其中的JMP @A+DPTR识别是静态逆向无能为力的了
例如1:
_07beh: MOV   R0     ,DPL            ;a8 82
        MOV   B      ,DPH            ;85 83 f0
        POP   DPH                    ;d0 83
        POP   DPL                    ;d0 82
        LCALL _07d5h                 ;12 07 d5
        LCALL _07d5h                 ;12 07 d5
        LCALL _07d5h                 ;12 07 d5
        LCALL _07d5h                 ;12 07 d5
        CLR   A                      ;e4
        JMP   @A+DPTR                ;73
例如2:
_082bh: MOVC  A      ,@A+DPTR        ;93
        MOV   R0     ,A              ;f8
        MOV   A      ,#001h          ;74 01
        MOVC  A      ,@A+DPTR        ;93
        MOV   DPL    ,A              ;f5 82
        MOV   DPH    ,R0             ;88 83
        CLR   A                      ;e4
        JMP   @A+DPTR                ;73
还是打算做个完全模拟51运行的逆向器,完美的51逆向,敬请期待吧

一周热门 更多>