5

I have the ROM dump (.bin files) targeted for the MC68008 processor. Need to convert them into a high level source code. I have already found tools for disassmbling them into assembly code. The next step is converting them to C code. But I could not find any tool that works. I have already tried the following decompilers with no success: RecStudio, Boomerang, Decompiler 0.2.4, IDA Pro with Hex-Rays.

4

I don't think any public tool for decompilation of M68K exists. You will probably need to do it yourself (write a decompilation tool) or do manual decompilation.

I recommend you to give a try to writing a decompiler for your project if it's worth the effort: even if your decompiler is not very good, it will help you a lot in manual decompilation.

BTW, manual decompilation is very tedious; perhaps "horrible" is a better definition... In my opinion, it's probably the most tedious task in RE.

  • 1
    One of the most tedious tasks, yes. Although it is satisfying to get it right. The worst is, I think, VM reverse engineering. – Rolf Rolles May 24 '13 at 1:28
  • Maybe, but fortunately to myself, I only needed to do it once and it was an easy one. – joxeankoret May 24 '13 at 9:55
  • 2
    An anonymous user posted this as an edit: "I think it would be a good idea to write your decompiler parallel with manual decompiling the code, assuming you have no prior knowledge of M68K assembly. Not only will you understand the assembly better personally, but you'll fully understand what the decompiler is doing with each step, making it easier to improve as your knowledge improves." – cb88 Jun 5 '13 at 18:30
4

(reposting answer from SO)

MicroAPL offers a tool called Relogix which is supposedly able to do it:

http://www.microapl.com/asm2c/sample.html

3

It's not very surprising that Hex-Rays was unable to decompile those files, seeing as Hex-Rays supports the x86 and ARM processor families (in separate editions). If you do find a tool for decompiling code for that processor family, it will be subject to the limitations that I laid out in this answer. In fact, for ROM dumps, the situation will be even more dire than what was described therein. In short, machine code decompilation is not a point-and-click type of affair as it is for managed languages.

1

Latecomer answer here. I noticed that you mentioned Decompiler 0.2.4 above: I'm the author of that project. I realize a couple of years have passed since you posed this question. During that time support for the 680xx family has been much improved. The current version (0.4.5) should be able to disassemble and decompile those binaries. The menu command File > Open as... should allow you to open the a raw binary.

Decompiler is available here: https://sourceforge.net/projects/decompiler (depending on whether SourceForge is back from its very prolonged outage).

If you find any bugs or have suggestions for improvements / feature requests, don't hesitate to add them to the issue tracker.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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