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 :
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 ?
-
3IDA 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).– QAZFeb 10, 2014 at 11:13
-
@0xC0000022L Yes I've done a mistake, I was talking about the demo version.– kl94Feb 10, 2014 at 13:14
3 Answers
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.
-
I've failed with all tools you've mentioned. I guess IDA Pro is the only one. Thanks for your time anyway– kl94Feb 10, 2014 at 17:23
- There's no "freeware" v6.5 (at least now, in 2014). You are probably using the demo.
- 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.
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.
-
2Retargetable 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– kl94Feb 11, 2014 at 9:28