我正在尝试将CGI文件加载到IDA,以便对其进行反汇编并了解其行为,但是我却无法这样做。 sprintf等。我知道它是一个MIPS文件,但是我无法在IDA中获得一些可理解的信息。

评论

您能否添加更多信息? file命令的输出将是一个开始,如果是ELF,则从readelf -e进行转储将很有帮助。

有关IDA给您的内容的更多信息也可能有用。是否有任何错误或警告?功能窗口中是否没有列出的功能,或者反汇编没有意义? IDA通常非常擅长加载MIPS ELF文件。如果不是ELF,则您需要做更多的工作才能进行有用的拆卸。

这是文件输出:index.cgi:用于GNU / Linux 2.6.12的ELF 32位LSB可执行文件,MIPS,MIPS32 rel2版本1(SYSV),动态链接(使用共享库),功能未知0xf41 = 0x756e6700,功能未知的0x70100 = 0x1040000,已剥离。这也是readelf转储:pastebin.com/raw.php?i=YswCPtLq。我将IDA FREE与Wine一起使用,错误是无法设置目标处理器类型“ mipsl”。

IIRC IDA的免费版本不支持MIPS。您可能想看一下这个问题,以获取其他选择。否则,binutils至少可以通过objdump进行反汇编。

@MathewHall:将此作为答案。实际上,IDA Freeware没有提供用于MIPS的任何处理器模块或用于ELF的加载器,因此这是主要障碍。我认为您的回答完全合法。

#1 楼

扩展我的评论:

免费软件IDA Pro不支持MIPS,因此您将无法使用它。如果您不能使用IDA的付费版本,则可以使用免费的替代版本。

以Debian MIPS radare2端口为例,以binutils为例:

$ file bin/objdump 
bin/objdump: ELF 32-bit MSB  executable, MIPS, MIPS-II version 1 (SYSV), 
dynamically linked (uses shared libs), for GNU/Linux 2.6.26,
BuildID[sha1]=d1d228509874377d7339cfd5b2f15db020e53b7b, stripped


在此示例之后,我们得到以下内容:搅动非常巨大,因此您可能只想使用pdf而不是ag产生文本输出而不是dot文件。