Ghidra 和 MSP430 反编译器不显示任何功能

问题描述

我正在试验 Ghidra 并反编译用于 MSP430 FR4133 Launchpad 的代码。我不确定它是否受支持,但 Ghidra 似乎支持 MSP430 设备。

为了进行简单的测试,我使用此 link 中的示例代码用于 MSP EXP430FR4133 Launchpad。

链接在此目录中包含一个简单的源程序 MSP-EXP430FR4133_Software_Examples_windows\Firmware\Source\OutOfBox_MSP430FR4133。这是一个带有秒表和温度传感器的简单程序。

我决定加载二进制文件夹中的二进制文件

enter image description here

然后我选择了 TI MSP430 16 位并让 Ghidra 进行分析。问题是反编译器不提供任何功能。我想知道我是否选择了错误的架构或选项?

enter image description here

更新 1 我发布了两张额外的图片显示了两个功能,但没有任何意义。

enter image description here

enter image description here

解决方法

您不是在反编译原始二进制文件,而是在反编译文本文件。

如果您查看自述文件,则表明这是一个预先构建的 TI-TXT 映像。

基本上,它包含以十六进制编码的小块数据,以加载地址为前缀。请参阅格式定义 here

Ghidra 支持类似的格式(Intel HEXMotorola S-Records),但不支持 TI-TXT。我没有找到将其转换为受支持格式的工具,但这可能可以通过一个小脚本来完成。