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 上传 点击文件名下载附件


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
78条回答
woshigeshuai
1楼-- · 2020-01-26 08:03
觉得IDA很好用。楼主可以考虑研究一下stm8或stm32反汇编软件,因为这俩单片机很火,以后反汇编需求定大。而且这软件目前还没,要么不能用。
xuhai777
2楼-- · 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逆向,敬请期待吧
xjavr
3楼-- · 2020-01-26 14:39
xuhai777 发表于 2013-9-27 19:01
PUSH DPL
PUSH DPH
RETI

要智能还是要进一步分析程序的意图,才能更好的区别是指令还是数据还是花指令。
BXAK
4楼-- · 2020-01-26 18:18
 精彩回答 2  元偷偷看……
bai2471
5楼-- · 2020-01-26 20:39
都是厉害的哇哇
s99060
6楼-- · 2020-01-26 23:07
可是03的中断向量也没识别嘛

一周热门 更多>