问题描述
我正在试验 Ghidra 并反编译用于 MSP430 FR4133 Launchpad 的代码。我不确定它是否受支持,但 Ghidra 似乎支持 MSP430 设备。
为了进行简单的测试,我使用此 link 中的示例代码用于 MSP EXP430FR4133 Launchpad。
此链接在此目录中包含一个简单的源程序 MSP-EXP430FR4133_Software_Examples_windows\Firmware\Source\OutOfBox_MSP430FR4133。这是一个带有秒表和温度传感器的简单程序。
然后我选择了 TI MSP430 16 位并让 Ghidra 进行分析。问题是反编译器不提供任何功能。我想知道我是否选择了错误的架构或选项?
更新 1 我发布了两张额外的图片,显示了两个功能,但没有任何意义。
解决方法
您不是在反编译原始二进制文件,而是在反编译文本文件。
如果您查看自述文件,则表明这是一个预先构建的 TI-TXT 映像。
基本上,它包含以十六进制编码的小块数据,以加载地址为前缀。请参阅格式定义 here。
Ghidra 支持类似的格式(Intel HEX 或 Motorola S-Records),但不支持 TI-TXT。我没有找到将其转换为受支持格式的工具,但这可能可以通过一个小脚本来完成。