利用IDA Pro修改51单片机bin文件

时间:2024-04-12 18:25:29

首先,IDA Pro本身是不可以对bin文件做任何修改的,IDA 上所有的操作都是对IDA生成的库文件进行的操作。 所以,如果想要修改bin文件,只能通过二进制文件编辑器实现。

options->general,修改设置选项利用IDA Pro修改51单片机bin文件

将number of opcode bytes 改为8,

利用IDA Pro修改51单片机bin文件

这样就可以看到, 16进制数与汇编指令的对应关系了,利用IDA Pro修改51单片机bin文件

通过在IDA里确定需要修改的函数后者操作,例如下面这个程序最后的操作是是使能外部中断。利用IDA Pro修改51单片机bin文件

使能中断的对应的16进制数为D2 AA,我们想把程序修改成,程序执行到最后失能外部中断,只要把setb修改成clr就可以了。通过查表,clr对应 的操作码是C2,也就是说把D2改成C2就可以了。为了准确的查找,多输入几个16进制数,确保修改的是这个函数。

利用IDA Pro修改51单片机bin文件

通过二进制文件编辑器找到了该位置,然后把D2,改成C2,保存。

利用IDA Pro修改51单片机bin文件

重新导入IDA Pro, 打开同一个函数,发现已经修改成功了,setb已经变成了clr。