Tengo una pregunta relacionada con el CTF y me preguntaba si alguien puede señalarme en la dirección correcta.
Trabajo en OSX Yosemite y estaba pasando por algunos juegos de guerra y desafíos de CTF más antiguos. Mi objetivo es ejecutar el binario ELF del desafío "nativamente" en mi iterm (después de que lo localice) aunque me doy cuenta de que solo el sistema subyacente puede ejecutar los binarios MACH.
Sin embargo, ¿es posible tal cosa a través de la emulación (por ejemplo, QEMU), o cualquier otro método, para evitar abrir una VM completa solo para ejecutar un binario?
Gracias de antemano.
Respuestas:
Por sí solo, los archivos binarios ELF no significan nada. Pocos binarios se ejecutan solos: necesitaría bibliotecas, API y ABI compatibles y otras cosas brillantes.
Cuando ejecuta QEMU, todavía necesita la mayoría del sistema operativo, solo que sospecho que no está tan relacionado con el sistema host.
En teoría, si tuviera algo como 'vino' pero actuando como un linux (u otro * nix syle OS) -> capa de compatibilidad OS X, podría obtener lo que desea, pero esa bestia no existe.
Así que no, no puede ejecutar un binario ELF precompilado arbitrario en OS X
fuente
La respuesta es probablemente: depende de cómo se generó el archivo ELF.
Basado en este artículo y esta oración:
No todos los archivos ELF se ejecutarán, incluso si tiene una configuración adecuada.
Basado en este artículo , hay un grupo de archivos ELF llamado FatELF:
Basado en esta página de Apple
Entonces, para Mac OS X, FatELF es el "comienzo de la respuesta".
Y finalmente, basado en esta página :
Tienes la oportunidad de activar lo que quieras.
PD: hay otra página sobre XBinary , no la analicé .
fuente