是否可以在 ARM 处理器上运行 x86 二进制文件?

是否可以在 ARM 处理器上运行 x86 二进制文件?

是否可以将已编译的 x86 二进制文件转换/重新编译为 ARM 二进制文件?

我正在使用比格犬板使用命令行 Ubuntu(Maverick)并想运行文特里洛服务器,但据我所知,他们提供的 x86 可执行文件无法在硬件上运行(很可能是由于架构不同)。

不幸的是,我无法访问源代码以便能够在本地重新编译它。

如果没有的话,还有其他方法可以运行二进制文件吗(例如模拟)?

答案1

您可能想要切换到您的架构上原生可用的替代软件,这时您会想到 murmur 和 mumble。

murmur and mumble 主页

答案2

简短版本:如果您没有源代码,那么就没有。

长版本:您可以使用 qemu(或 kvm 或 virtualbox 等)并使用最小的 x86 模拟系统来运行服务器。

答案3

我猜答案是“可能”。通常,如果您对可执行文件有足够的了解,您可以对其进行反编译。如果您将代码反编译为具有 ARM 编译器的语言,并且具有将该二进制文件编译到 ARM 平台所需的库,那么这应该是可能的。

例如:如果您的 Ventrilo 服务器可以反编译为 C 源代码,并且该源代码符合 ANSI 标准,则您的 ARM 编译器可能具有足够的支持来重新编译代码。

但我真的不知道你是否可以合法地这样做,因为你会对你不是所有者的软件进行逆向工程。

相关内容