Mam pytanie związane z CTF i zastanawiałem się, czy ktoś może wskazać mi właściwy kierunek.
Pracuję na OSX Yosemite i przechodziłem przez niektóre gry wojenne i starsze wyzwania CTF. Moim celem jest wykonanie pliku binarnego ELF wyzwania „natywnie” w moim itermie (po scpowaniu go lokalnie), chociaż zdaję sobie sprawę, że system bazowy może wykonywać tylko pliki binarne MACH.
Niemniej jednak, czy jest to możliwe poprzez emulację (np. QEMU) lub inną metodę, aby uniknąć otwarcia całej maszyny wirtualnej tylko w celu uruchomienia pliku binarnego?
Z góry dziękuję.
Odpowiedzi:
Same pliki binarne ELF nic nie znaczą. Kilka plików binarnych działa samodzielnie - potrzebujesz bibliotek pomocniczych, interfejsów API i ABI oraz innych lśniących rzeczy.
Podczas uruchamiania QEMU nadal potrzebujesz większości systemu operacyjnego - po prostu nie jest on tak ściśle związany z systemem hosta, jak podejrzewam.
W teorii, gdybyś miał coś w rodzaju „wina”, ale działa jak Linux (lub innego * nix syle OS) -> OS X warstwa kompatybilności Państwo mogli dostać to, czego chce, ale takie zwierzę nie istnieje.
NIE, nie możesz uruchomić arbitralnego, wstępnie skompilowanego pliku binarnego ELF na OS X
źródło
Odpowiedź brzmi prawdopodobnie: zależy od tego, jak plik ELF został wygenerowany.
Na podstawie tego artykułu i tego zdania:
Nie wszystkie pliki ELF zostaną wykonane, nawet jeśli masz prawidłową konfigurację.
Na podstawie tego artykułu istnieje grupa plików ELF o nazwie FatELF:
Na podstawie tej strony Apple
Tak więc w Mac OS X FatELF jest „początkiem odpowiedzi”.
I na koniec na podstawie tej strony :
Masz szansę aktywować, co chcesz.
PS: jest jeszcze jedna strona o XBinary , nie analizowałem jej.
źródło