我有一个与 CTF 相关的问题,我想知道是否有人可以指出我正确的方向。
我在 OSX Yosemite 上工作,我正在经历一些兵棋推演和旧的 CTF 挑战。我的目标是在我的 iterm 中“本地”执行挑战的 ELF 二进制文件(在我本地 scp 之后),尽管我意识到底层系统只能执行 MACH 二进制文件。
然而,为了避免为了运行二进制文件而打开整个 VM,是否可以通过仿真(例如 QEMU)或任何其他方法来实现这样的事情?
先感谢您。
答案可能是:取决于 ELF 文件是如何生成的。
基于这篇文章和这句话:
即使您进行了正确的设置,也并非所有 ELF 文件都会被执行。
基于这篇文章,有一组名为 FatELF 的 pf ELF 文件:
因此,对于 Mac OS X,FatELF 是“答案的开始”。
最后,基于此页面:
目标文件转换器
该实用程序可用于在所有 32 位和 64 位 x86 平台的COFF/PE、OMF、 ELF和 Mach-O 格式之间转换目标文件。可以修改目标文件中的符号名称。可以跨平台构建、修改和转换函数库。可以转储目标文件和可执行文件。还包括一个非常好的反汇编器,支持 SSE4、AVX、AVX2、AVX512、FMA3、FMA4、XOP 和 Knights Corner 指令集。包含源代码(GPL)。
你有机会去做你想做的事。
PS:还有一个关于 XBinary 的页面,我没有分析它。
本文档讨论 XBinary,这是一款新软件,可让您添加内核级支持以在 Mac OS X 上执行任意二进制格式的文件
ELF 二进制文件本身没有任何意义。很少有二进制文件可以单独运行 - 您需要支持库、API 和 ABI 以及其他闪亮的东西。
运行 QEMU 时,您仍然需要大部分操作系统 - 只是我怀疑它与主机系统的联系没有那么紧密。
理论上,如果你有类似“wine”的东西,但充当 linux(或其他 *nix syle OS)-> OS X 兼容层,你可以获得你想要的东西,但这样的野兽并不存在。
所以不,你不能在 OS X 上运行任意的、预编译的 ELF 二进制文件
归档时间: |
|
查看次数: |
17641 次 |
最近记录: |