转:https://blog.csdn.net/daidi1989/article/details/86304843
IDA是一款功能强大的反编译软件,网上找了许久没找到它的使用教程,经过摸索可将STM32的hex文件进行反汇编,操作步骤如下,首先下载IDA Pro版破解软件,免安装。
IDA Pro下载链接:https://pan.baidu.com/s/181PHGYRQvKUZlgL6VVQOIw 提取码:sa2y
如果文件为bin文件,可使用bin转hex工具转为hex格式
BinToHex下载链接:https://pan.baidu.com/s/12pkwO2DHhJd7_zVDF5RbaA 提取码:8lel
1、打开解压后目录下的idaq.exe可执行文件,点击[File]-[Open]看到如下界面
2、打开hex文件弹出提示
3、【processot type】选择小端ARM,点击【set】保存
4、按顺序点击图片中的1-2-3,设置好后点击所以【ok】关闭提示框
5、接下来将看到hex的文件内容,在CODE32下按d合并行
6、右击第二行跳到程序起始处
7、在跳转到的程序前面按c键
8、反汇编完成,在CODE32处按F5键将生成类C伪代码,见第12步
9、右击函数头选择【Graph view】可查看函数间调用关系
10、查看函数调用关系
11、在子函数中按【F5】键,生成反编译代码
12、反编译后的CODE32函数,该函数前面是stm32中启动文件中的一些时钟初始化函数,main函数的入口在最后sub_8003076();中,双击该函数即可进入。
13、进入main函数中将看到如下一些具体功能实现代码,注意寄存器的配置都是对芯片的某个内存地址进行操作,变量也是对应某一个存储器地址。