6

Можно ли преобразовать / перекомпилировать уже скомпилированный двоичный файл x86 в двоичный файл ARM?

Я использую BeagleBoard с командной строкой Ubuntu (Maverick) и хочу запустить сервер Ventrilo, но предоставляемый ими исполняемый файл x86 не может быть запущен на аппаратном уровне, насколько я могу судить (скорее всего, из-за отличающейся архитектуры).

К сожалению, у меня нет доступа к исходному коду, чтобы позволить мне перекомпилировать его изначально.

Если нет, есть ли другой способ заставить бинарный файл работать (например, эмуляцию)?

3 ответа3

6

Возможно, вы захотите переключиться на альтернативное программное обеспечение, доступное в вашей архитектуре, шум и бормотание приходят на ум.

домашняя страница бормотания и бормотания

4

Короткая версия: если у вас нет исходного кода, то нет.

Длинная версия: вы можете использовать qemu (или kvm или virtualbox и т.д.) И использовать минимальную эмулированную систему x86 для запуска сервера.

1

Я думаю, что ответ "возможно". Обычно вы можете декомпилировать исполняемый файл, если вы знаете об этом достаточно. Если вы декомпилируете код на язык с компилятором ARM и библиотеками, необходимыми для компиляции этого двоичного файла на вашу платформу ARM, то это должно быть возможно.

Например: если ваш сервер Ventrilo может быть декомпилирован в исходный код C, а этот исходный код соответствует стандарту ANSI, возможно, у вас будет достаточная поддержка с вашим компилятором ARM для перекомпиляции кода.

Я действительно не знаю, можете ли вы сделать это на законных основаниях, поскольку вы будете заниматься реинжинирингом программного обеспечения, которое вы не являетесь владельцем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .