Take the 2-minute tour ×
Reverse Engineering Stack Exchange is a question and answer site for researchers and developers who explore the principles of a system through analysis of its structure, function, and operation. It's 100% free, no registration required.

I'm trying to use IDA Pro v6.5 (freeware) (demo) to decompile an objective-c library compiled for ARM7-7S. I tried Hopper v2.8.8 (freeware) with no success.

I had no problem until I tried to display a pseudocode. In fact, I can't find the option for that as you can see on this screenshot : enter image description here
I believe to know that I can do it because IDA should support ARM decompilation... So my question is : How to decompile an objective-c library ? Or, Am I missing something ?

share|improve this question
2  
IDA Pro doesn't provide decompilation itself only disassembly, you will need the hexrays plugin in order to decompile in IDA Pro (or another third party decompiler plugin). –  QAZ Feb 10 at 11:13
    
@0xC0000022L Yes I've done a mistake, I was talking about the demo version. –  kl94 Feb 10 at 13:14

3 Answers 3

up vote 6 down vote accepted

There is SmartDec, a native-code to C/C++ decompiler. It has two versions. Standalone and plugin to IDA. The latter supports all IDA's architectures, provides full GUI integration - is easy to work with -, makes use of IDA Flirt signatures and will make use of runtime information if you use it together with funcap. There is also Retargetable Decompiler, an online decompiler developed at Brno University of Technology that supports x86, ARM, ARM+Thumb and MIPS and can decompile to C or Python. It provides not only the decompilation but packer and compiler information, extraction of debug information, call and flow graphs, and signature-based removal of statically linked library code. Its only problem is its input size limitation of 10MB.

If those do not suffice your needs, you could also adapt or wait for the implementation of ARM support in either Einstein's IDA Decompiler, libbeauty - reference material -, or desquirr - as someone already did but released no code. The first two are the most promising. You could also wait for Hopper to improve it's ARM support. However, if you need to decompile it now, you'll have to purchase IDA and the Hex-Rays Decompiler, which is more than worth its cost - if you can afford it - and goes for about 3314 USD - including courier shipping - as of now for a named license. More informations about the purchase can be found in the link Mr.Skochinsky provided.

share|improve this answer
    
I've failed with all tools you've mentioned. I guess IDA Pro is the only one. Thanks for your time anyway –  kl94 Feb 10 at 17:23
  1. There's no "freeware" v6.5 (at least now, in 2014). You are probably using the demo.
  2. The decompiler is an additional plugin and is not included in the demo. You need to purchase IDA and the decompiler to access it.

For purchasing IDA, see here.

share|improve this answer
    
Thanks, I know what I should do now –  kl94 Feb 10 at 12:37

I do mainly refer to the first answer and add:

Retargetable Decompiler is indeed working fine, tested it with ARM Binarys. It's only anvailable online.

SmartDec has moved to a new site: http://decompilation.info/ but is not currently able of decompiling ARM Platform.

share|improve this answer
    
Retargetable Decompiler doesn't work for me, I get a "File format of the input file is not supported." I don't know why, I trying to decompile an universal static library (.a) compiled for ARM7, ARM7S, and i386. Again, I guess IDA Pro is the only one... Thanks for your time –  kl94 Feb 11 at 9:28

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.