Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is it possible to convert/recompile an already compiled x86 binary into an ARM binary?

I'm using a BeagleBoard with a command-line Ubuntu (Maverick) and want to run a Ventrilo server but the x86 executable they supply cannot be run on the hardware as far as I can tell (most likely due to differing architecture).

Unfortunately I don't have access to the source to allow me to recompile it natively.

If not, is there any other way I can get the binary to run (emulation for example)?

share|improve this question
1  
Many years ago, there were emulators of older x86 such as 80286 DOS machines for Acorn Risc OS machines. That might be a starting point to see if those involved have progressed the idea to live on today. Other than that it's an interesting question given ARM's apparent move into the server space, displacing x86 binary apps, such an emulator might facilitate the displacement of x86 in this area. –  therobyouknow Dec 13 '10 at 17:11

4 Answers 4

up vote 5 down vote accepted

You may want to switch to an alternative software available natively on your architecture, murmur and mumble come to mind.

murmur and mumble homepage

share|improve this answer
    
Great, thank you, I didn't know this existed. Might take some convincing to get the others using it but I think the fact that it's the highest quality coupled with the lowest latency helps massively. –  Ryall Dec 13 '10 at 17:31

Short version : if you don't have the source code then no.

Long version : you can use qemu (or kvm or virtualbox, etc) and use a minimal x86 emulated system to run the server.

share|improve this answer

The answer is yes, you can run x86 binaries on ARM. There is a virtualization engine that we are developing at Eltechs that do just that.

To get the feeling of how it works check out this video: http://www.youtube.com/watch?v=LScf7GPhQSQ

We are actually looking for a beta testers and if you are interested in this engine I could include you to our program. Just drop me a line here: http://eltechs.com/contacts/feedback/

Cheers!

share|improve this answer

I guess the answer is "maybe". Usually you can de-compile an executable file, if you know enough about it. If you decompile the code to a language that has an ARM compiler, and the libraries required to compile that binary to your ARM platform, than it should be possible.

For example: If your Ventrilo server can be decompiled into C source code, and this source code is ANSI Standard, you may have enough support with your ARM compiler to recompile the code.

I really don't know if you can do it legally, though, since you would be reverse-engineering a software that you are not the owner.

share|improve this answer
    
Just a small problem here: most decompiled programs don't compile again without modification - decompilers aren't that good :( –  Filip Haglund Apr 29 '13 at 15:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.