У меня есть вопрос, связанный с CTF, и мне было интересно, если кто-то может указать мне правильное направление.
Я работаю над OSX Yosemite, и у меня были некоторые военные игры и старые вызовы CTF. Моя цель - выполнить двоичный файл ELF запроса «изначально» в мой итерм (после того, как я его проверю локально), хотя я понимаю, что базовая система может выполнять только двоичные файлы MACH.
Тем не менее, возможна ли такая вещь с помощью эмуляции (например, QEMU) или любого другого метода, чтобы избежать открытия целой виртуальной машины только для запуска двоичного файла?
Заранее спасибо.
Ответы:
Сам по себе бинарные файлы ELF ничего не значат. Несколько бинарных файлов работают в одиночку - вам понадобятся вспомогательные библиотеки, API-интерфейсы, ABI и другие замечательные вещи.
При работе с QEMU вам все еще нужна большая часть ОС - только я не подозреваю, что она не так тесно связана с хост-системой.
Теоретически, если у вас есть что-то вроде 'wine', но вы действуете как linux (или другая ОС * nix syle) -> уровень совместимости с OS X, вы можете получить то, что хотите, но такого зверя не существует.
Так что нет, вы не можете запустить произвольный, предварительно скомпилированный бинарный файл ELF в OS X
источник
Вероятно, ответ таков: зависит от того, как был создан файл ELF.
На основании этой статьи и этого предложения:
Не все файлы ELF будут выполнены, даже если у вас есть правильная настройка.
Основываясь на этой статье , существует группа файлов ELF под названием FatELF:
На основе этой страницы от Apple
Итак, для Mac OS X FatELF - это «начало ответа».
И наконец, основываясь на этой странице :
У вас есть возможность активировать то, что вы хотите.
PS: есть еще одна страница о XBinary , я не анализировал ее.
источник