Ich habe eine CTF-bezogene Frage und habe mich gefragt, ob mich jemand in die richtige Richtung weisen kann.
Ich arbeite an OSX Yosemite und habe einige Kriegsspiele und ältere CTF-Herausforderungen durchlaufen. Mein Ziel ist es, die ELF-Binärdatei der Herausforderung "nativ" in meinem iterm auszuführen (nachdem ich sie lokal scp), obwohl mir klar ist, dass nur MACH-Binärdateien vom zugrunde liegenden System ausgeführt werden dürfen.
Ist so etwas jedoch vielleicht durch Emulation (z. B. QEMU) oder eine andere Methode möglich, um zu vermeiden, dass eine ganze VM nur zum Ausführen einer Binärdatei geöffnet wird?
Danke im Voraus.
Antworten:
ELF-Binärdateien bedeuten für sich genommen nichts. Nur wenige Binärdateien werden alleine ausgeführt. Sie benötigen unterstützende Bibliotheken, APIs, ABIs und andere glänzende Dinge.
Wenn Sie QEMU ausführen, benötigen Sie immer noch den größten Teil des Betriebssystems - nur, dass es nicht so eng mit dem Host-System verbunden ist, das ich vermute.
Theoretisch könnten Sie bekommen, was Sie wollen, wenn Sie so etwas wie "Wein" hätten, aber als Linux (oder eine andere * nix-artige OS) -> OS X-Kompatibilitätsschicht fungieren , aber ein solches Biest gibt es nicht.
Also nein, Sie können unter OS X keine willkürliche, vorkompilierte ELF-Binärdatei ausführen
quelle
Die Antwort lautet wahrscheinlich: Hängt davon ab, wie die ELF-Datei generiert wurde.
Basierend auf diesem Artikel und diesem Satz:
Nicht alle ELF-Dateien werden ausgeführt, selbst wenn Sie über ein ordnungsgemäßes Setup verfügen.
Basierend auf diesem Artikel gibt es eine Gruppe von ELF-Dateien namens FatELF:
Basierend auf dieser Seite von Apple
Für Mac OS X ist FatELF der "Anfang der Antwort".
Und schließlich basierend auf dieser Seite :
Sie haben die Möglichkeit zu aktivieren, was Sie wollen.
PS: Es gibt eine andere Seite über XBinary , die ich nicht analysiert habe.
quelle