Можно ли запустить двоичный файл x86 на процессоре ARM?
Можно ли преобразовать / перекомпилировать уже скомпилированный двоичный файл x86 в двоичный файл ARM?
Я использую BeagleBoard с командной строкой Ubuntu (Maverick) и хочу запустить сервер Ventrilo, но предоставляемый ими исполняемый файл x86 не может быть запущен на аппаратном уровне, насколько я могу судить (скорее всего, из-за отличающейся архитектуры).
К сожалению, у меня нет доступа к исходному коду, чтобы позволить мне перекомпилировать его изначально.
Если нет, есть ли другой способ запустить двоичный файл (например, эмуляцию)?
3 ответа
Возможно, вы захотите переключиться на альтернативное программное обеспечение, доступное в вашей архитектуре, шум и бормотание приходят на ум.
Краткая версия: если у вас нет исходного кода, то нет.
Длинная версия: вы можете использовать qemu (или kvm или virtualbox и т. Д.) И использовать минимальную эмулированную систему x86 для запуска сервера.
Я думаю, что ответ "возможно". Обычно вы можете декомпилировать исполняемый файл, если вы знаете об этом достаточно. Если вы декомпилируете код на язык с компилятором ARM и библиотеками, необходимыми для компиляции этого двоичного файла на вашу платформу ARM, то это должно быть возможно.
Например: если ваш сервер Ventrilo может быть декомпилирован в исходный код C, а этот исходный код соответствует стандарту ANSI, возможно, у вас будет достаточная поддержка с вашим компилятором ARM для перекомпиляции кода.
Я действительно не знаю, можете ли вы сделать это на законных основаниях, поскольку вы будете заниматься реинжинирингом программного обеспечения, которое вы не являетесь владельцем.