本帖最后由 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 上传
点击文件名下载附件
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逆向,敬请期待吧
要智能还是要进一步分析程序的意图,才能更好的区别是指令还是数据还是花指令。
一周热门 更多>