• 长博科技欢迎您!
  • 7*24h服务热线:13717004769

程序反编译

2021
01/18

反汇编 ,一般情况大家用的不多。但在一些行业确实比较常见。比如 破解加密算法,获得加密密钥,或者自己无法写出完全一致的程序又要修改一些地方的时候反汇编就是必不可少的。反汇编是比较枯燥,又有一定挑战性的东西下面我给大家讲解如何 从BIN文件->HEX文件->汇编->C语言的全部过程。

一.破解芯片

这个作为一般是要找专业破解芯片的公司,帮我们把芯片内的  flash 和EEPROM 中的数据读出来,从而得到BIN文件或者HEX。

二.BIN转HEX

因为PIC的老的MPLAB 或者MPLAB X IDE。都不支持读取BIN文件。所以你需要事先将BIN文件转为HEX文件。当然你如果已经有了HEX文件这一步可以忽略。 我个人是比较喜欢用QL-2006这款单片机烧器的烧写软件将BIN转成HEX。

三.将HEX转成汇编

1,打开 MPLAB IDE  Configure->Select Chip 选择芯片型号。

2,点击菜单栏File->Import 导入HEX文件。

3,查看程序存储空间点击菜单栏 View ->Progarm Memory 跳出Progarm Memory 窗口选择点击选择Machine,Machine显示的 就是每个机器码对应的汇编语言。

4,去掉LINE(行号) 去掉OpCode(机器码) 只留下Address(地址)和Disassemly(汇编)这两列。右击上边的一栏就可以去掉 相应列的勾选。

5,右击文本框 点击Output To File (输出文件)。这样我们就得到了。反汇编之后的文本文件了。

6,然后用以上类似的方法输出 EEPROM中的数据

四.建立工程

1,将上一步得到的文件,将扩展名由 .TEXT 改为 .asm.我们就建立新的工程将改汇编文件添加进去。

五.看懂汇编加注释。

1,这个阶段的你本身需要懂汇编。

2,区分那些数代表  数值  那些数 代表 寄存器 那些数 代表 程序地址。这个一定要注意。

3,反汇编的难点就是看懂原作者 写的程序是什么意思。

六.汇编转


the end
 
 

在线客服