是否可以将 MIPS ASM 转换为代码?

逆向工程 艾达 部件 反编译器 米普
2021-06-21 09:36:29

IDA可以拆装。但是,通过字节移位等读取大型汇编块是一项乏味的工作。我宁愿阅读伪代码。

是否有针对 MIPS 平台的这项工作的任何文档、教程或工具?你们使用什么方法?对不起,如果这个问题是题外话,但正常的谷歌搜索对 MIPS 没有太大影响。

编辑:我尝试反编译调制解调器固件映像并查找默认的 telnet 密码,因为 WebUI 密码不起作用,而且我的 ISP 也不知道。

3个回答

IDA 的反编译器仅支持 ARM 和 x86。话虽如此,您可以尝试以下几种方法:

  • REC - 这个已经提到过。我上次使用它时,当您发出“帮助”命令时,它会出现段错误,所以 YMMV。
  • Retargetable Decompiler - 这是一个在线反编译器,支持各种架构,包括 MIPS。大致了解代码的工作原理是可以的,但根据我的经验,错过了重要的细节(例如,它显示数据被写入未定义的指针)。
  • JEB - JEB 2.3 是一个专业的逆向工程平台,支持 MIPS 32 位代码的本地反编译。输出是交互式的,可以重构/修改,类似于 Hexrays。

最终,您最好学习阅读反汇编。我经常做的一件事是手动将单个代码块转换为伪代码;在 IDA 中,您可以右键单击代码块,选择“组节点”并用您想要的任何文本(例如,伪代码)替换该代码块中的反汇编。这使得分解和理解复杂功能变得更加容易。

我知道的唯一 MIPS 反编译器是REC还有这个,不过我自己没试过。

尝试 从项目页面使用https://github.com/drvink/epanos 反编译器依赖于 IDA pro
ElectroPaint Automatic No-source Object reaSsembler (a MIPS to C decompiler) This is a very dumb MIPS to C static translator. Consider it a proof of concept, as it has successfully worked

最好的方法是使用 IDA PRO 和你的大脑