6

Hopper seems to be focused on Mac, but how does its capabilities on Windows or Linux compares with the free version of IDA for reversing x86/x64 executables?

Hopper seems to have all the major features IDA has; a graph view, ability to rename objects, and a Python API, yet IDA is still the standard.

Are these features in Hopper as effective as in IDA? Are there any known deficiencies in Hopper?

1
  • I'm new to reversing but aside from the specifics mentioned in the FAQ at hopperapp.com/faq.html and some fun with Ubuntu dependencies on Debian it seems fine on Linux, and Windows, and Wine.
    – adric
    Jul 2, 2013 at 17:38

1 Answer 1

8

I am using IDA for about 10 years and I have been using Hopper for a few months (on Kubuntu and Windows).

It depends what you want to do, what budget you have and whether it's hobby or professional.

Clearly, IDA is more powerful in most aspects. It supports a wider ranger of processors, has more loaders and a plugin system as well as two powerful scripting languages (IDC/Python).

Given the price tag, Hopper is well worth the purchase. Indeed, I can confirm that the decompiler is more simplistic than even the Hex-Rays decompiler in its beta some years back (I have never used it again since then). If someone wants to start with reverse engineering, I am clearly recommending IDA Freeware for those that work only with Windows PE files (and outside a commercial context) and Hopper if the hobbyist is willing to shell out a few bucks.

There are a few things to consider: do you look for a decompiler or a disassembler and what's your budget? From daily use I'd say that the disassembler for x86 and x64 is pretty much equivalent for ELF (Linux) and PE (Windows) files from my point of view.

All features in Hopper seem to function as well as you'd expect from a fairly new product (meaning the time of development that went into it overall) and the price tag. It is being improved all the time, so you'll be able to get feature updates.

However, the biggest - by far - disadvantage for me is the "learning curve". A lot of the features in Hopper have different shortcuts or slightly different work flows, but one can clearly see how the author must be aware of IDA and recent developments in IDA (notably since about IDA version 5.0). Although I come from the other side, I think someone starting with Hopper will benefit from it when later going professional and switching to paid IDA.


Last but not least a note about decompilers. Being more acquainted with disassemblers I actually found results of Hex-Rays confusing and ambiguous in many cases in the past. The same holds for decompilation results of Hopper. If you are a seasoned reverser, disassembly sometimes tends to be "clearer" (albeit less convenient) the more experience you have.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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