我有一个与CTF相关的问题,我想知道是否有人可以指出我正确的方向。
我在OSX Yosemite上工作,正在经历一些战争游戏和较老的CTF挑战。我的目标是将挑战的ELF二进制文件“本地”执行到我的iterm中(在我本地本地化之后),尽管我意识到底层系统只能执行MACH二进制文件。
但是,是否有可能通过仿真(例如QEMU)或任何其他方法来避免通过打开整个VM只是为了运行二进制文件而发生这种事情?
先感谢您。
我有一个与CTF相关的问题,我想知道是否有人可以指出我正确的方向。
我在OSX Yosemite上工作,正在经历一些战争游戏和较老的CTF挑战。我的目标是将挑战的ELF二进制文件“本地”执行到我的iterm中(在我本地本地化之后),尽管我意识到底层系统只能执行MACH二进制文件。
但是,是否有可能通过仿真(例如QEMU)或任何其他方法来避免通过打开整个VM只是为了运行二进制文件而发生这种事情?
先感谢您。
Answers:
ELF二进制文件本身没有任何意义。很少有二进制文件可以单独运行-您需要支持库,API和ABI以及其他出色的东西。
运行QEMU时,您仍然需要大多数操作系统-只是它与我怀疑的主机系统没有紧密联系。
从理论上讲,如果您有类似“葡萄酒”的角色,但充当linux(或其他* nix syle OS)-> OS X兼容层,则可以得到所需的东西,但是这种野兽并不存在。
因此,不行,您无法在OS X上运行任意预编译的ELF二进制文件
答案可能是:取决于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)。
您有机会激活自己想要的东西。
本文档讨论XBinary,这是一种新软件,可让您添加内核级支持,以在Mac OS X上以任意二进制格式执行文件。