使用不受支持的二进制格式

逆向工程 艾达 拆卸 二元分析 调试 重新组装
2021-07-05 00:43:19

有时由于不支持格式(例如在 IDA 中),我无法开始调试二进制文件。例如,我发现了一个任天堂 3DS 游戏并想对其进行调试。但问题是我无法开始调试,因为 IDA 不知道这种二进制格式。

我应该怎么做才能告诉调试器二进制的结构(什么文本结构等)?

1个回答

有两个单独的问题:

  1. 为了让 IDA 显示某些新格式的反汇编,它必须有一个加载器插件,它可以理解文件格式并为 IDA 提供有关如何从中加载数据和代码的信息。并且必须有一个处理器模块知道如何反汇编加载器插件加载的数据。否则 IDA 会将文件加载为二进制文件,仅此而已。
  2. 即使您有加载程序 + 处理器模块,也不意味着您可以调试它。您需要一个调试器模块,它将知道如何将初始二进制文件加载到设备中,并且通过一些通信将在远程调试器中逐步运行它。

Nintendo 3DS 是 ARM11,所以 IDA 中有一个处理器模块。至于装载机,您必须搜索是否有人制作或自己实施。至于用于 IDA 的 3DS 调试器插件,我非常怀疑它是否存在。