【问题标题】:How can I execute a MIPSEB-LE ECOFF executable file?如何执行 MIPSEB-LE ECOFF 可执行文件?
【发布时间】:2018-08-10 01:15:22
【问题描述】:

我在隐写术挑战的一部分中提取了一个我发现是 MIPSEB-LE ECOFF 可执行文件的文件。当我运行“文件可执行文件”时,我得到“可执行文件:未剥离 MIPSEB-LE ECOFF 可执行文件”。我在互联网上研究如何运行这样的可执行文件时遇到了很多麻烦,我非常感谢任何正确方向的指导。谢谢!

【问题讨论】:

  • 您可以尝试使用objconv 将其转换为 ELF 二进制文件。但是,请注意,如果该程序是为其他操作系统编写的,则它不太可能运行。
  • 此外,执行不受信任的二进制文件的愿望不应该是您在逆向工程业务中的第一个想法。里面的程序可能是完全恶意的。您应该始终首先反汇编并了解其基本静态属性。然后你可能决定在模拟器/模拟器/虚拟机中运行它。请注意,如今即使使用虚拟机也不能保证 100% 的安全——此类环境也可能存在漏洞,可以从虚拟机外部进行攻击。
  • 还要注意file 工具本身可能会不准确地报告文件,也许它被巧妙地设计为 MIPS ECOFF 的 x86 二进制掩码,但即使在 x86 等上也能执行......它还有很多可能是正确的并且确实是 MIPS ECOFF,但是做一些基本的验证(检查文件头是否有意义并且第一条指令看起来是 MIPS 和合理的)听起来像是下一步的好方法。 file 通常只检查一些正则表达式模式或标头中的几个字节来报告特定的 MIME 类型,因此对于复杂的格式,如果您在构建文件方面有足够的“创造力”,它可能会被欺骗。
  • s/outside/inside/ 在我之前的评论中;也就是说,虚拟机内部的代码有时可以附加虚拟机监视器和/或主机系统。

标签: assembly mips executable disassembly steganography


【解决方案1】:

ECOFF seems 是在 Ultrix、Tru64 UNIX、IRIX 和可能的 Linux/MIPS 中使用的 COFF 的变体。这个page for file 模式还声明它是特定于Silicon Graphics 和Dell Ultrix 系统的格式。同一个文件声明它必须使用大端数据约定。

Qemu 有basic support 种 MIPS CPU 芯片变体,但对 SGI 操作系统的支持并不多。 Here 是支持 MIPS 的模拟器列表,其中至少有一些报告运行 IRIX。

我的建议是,在您开始为它们尝试不同的模拟器和操作系统之前,这将是无数种组合,您应该对文件进行更深入的静态分析。了解它是否被打包/加密,它执行什么系统调用,这将很好地表明它是为什么操作系统编写的,它可以做什么,它包含什么人类可读的字符串等等。

【讨论】:

  • 谢谢,你知道我可以学习从可执行文件中提取此类数据的任何好的资源吗?
  • @ColbyMorgan:objdump -d 反汇编它(使用支持 MIPS 的 binutils 构建),然后开始阅读反汇编以查看它在做什么。如果objdump 不理解文件格式,@fuz 建议使用objconvobjcopy 可能会有所帮助。
  • @ColbyMorgan 这是一个更普遍的问题,即“如何反转程序?”。为此使用专用工具,例如 radare2(免费)或 IDA pro(费用为 $$$),或通用工具,例如 objdump(不适用于为隐藏自身行为而编写的代码) .如果你和我一样是书呆子,读一本书“IDA Pro book”link可以帮助理解基本的术语和方法
猜你喜欢
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 2011-10-22
  • 2015-04-06
  • 2017-11-23
  • 1970-01-01
  • 2014-12-17
  • 2018-12-29
相关资源
最近更新 更多