是否有任何工具可以将原始二进制文件反编译为 Motorola 68000 处理器系列的 C 代码?

逆向工程 反编译 二元分析 反编译器
2021-06-15 09:44:24

我有针对 MC68008 处理器的 ROM 转储(.bin 文件)。需要将它们转换为高级源代码。我已经找到了将它们分解为汇编代码的工具。下一步是将它们转换为 C 代码。但我找不到任何有效的工具。我已经尝试了以下反编译器但没有成功:RecStudio、Boomerang、Decompiler 0.2.4、IDA Pro with Hex-Rays。

4个回答

我认为不存在任何用于反编译 M68K 的公共工具。您可能需要自己完成(编写反编译工具)或手动反编译。

如果值得的话,我建议您尝试为您的项目编写一个反编译器:即使您的反编译器不是很好,它也会对您手动反编译有很大帮助。

BTW,手动反编译很繁琐;也许“可怕”是一个更好的定义......在我看来,这可能是 RE 中最乏味的任务。

从 SO重新发布答案

MicroAPL 提供了一个名为Relogix的工具,据说可以做到:

http://www.microapl.com/asm2c/sample.html

Hex-Rays 无法反编译这些文件并不奇怪,因为 Hex-Rays 支持 x86 和 ARM 处理器系列(在不同版本中)。如果您确实找到了用于反编译该处理器系列代码的工具,它将受到我在本答案中列出的限制事实上,对于 ROM 转储,情况将比其中描述的更可怕。简而言之,机器代码反编译不像托管语言那样是点击式的。

迟到者在这里回答。我注意到你在上面提到了 Decompiler 0.2.4:我是那个项目的作者。我意识到自从你提出这个问题以来已经过去了几年。在此期间,对 680xx 系列的支持得到了很大改善。当前版本 (0.4.5) 应该能够反汇编和反编译这些二进制文件。菜单命令File>Open as...应该允许您打开原始二进制文件。

反编译器可在此处获得:https : //sourceforge.net/projects/decompiler(取决于 SourceForge 是否从其长期中断中恢复)。

如果您发现任何错误或对改进/功能请求有建议,请不要犹豫,将它们添加到问题跟踪器中。