Hopper Disassembler

The MacOS X Dedicated Disassembler, Decompiler and Debugger

1 note

Hopper 2.7.14

The very first update of Hopper has just been released! (and submitted to Apple for review, for the Mac App Store customers)

This version is very important for me, as this is the first one since I turned (almost) full time on Hopper. The fact is that I have to develop some other side project at the moment, just because Hopper is not sufficient for me to eat, but it’s taking the right way! I have more time to develop, more time to track bugs and add new features, and that’s great!

Here is the changelog:

  • Add shortcuts to navigation items, like “Next Code”, “Next Unexplored”,
  • Change some behavior for easier navigation,
  • Improve the ARM decompilation (handles ARM conditional instructions),
  • Added a control to easily change EFLAGS value in the debugger,
  • Can now open a document from command line under Windows and Linux,
  • Windows users can now choose the installation path of Hopper,
  • Fix some issue while parsing ELF32 files,
  • Fix PageUp/PageDown keys under Windows and Linux,
  • Fix some crashes in the decompiler,
  • Fix some memory leaks,
  • Fix some graphical issues with custom fonts on OS X,
  • Small various improvements.

1 note

It has been a while since the last time I updated this blog!
Many things have changed since then, and I have some good news for you.
The first one (and, by far, the most important, at least, for me :)) is that Hopper will become my full time job! That’s right, from the end of the next month, I’d be able to spent as much time as I want on developing Hopper. I expect things to go really faster!
The second one is that Hopper now features a new view: on top of the method names, you’ll now find a selector that let you choose if you want to display the list of labels, or the list of strings (ASCII and Unicode) contained in the binary. This makes searching strings really faster!

It has been a while since the last time I updated this blog!

Many things have changed since then, and I have some good news for you.

The first one (and, by far, the most important, at least, for me :)) is that Hopper will become my full time job! That’s right, from the end of the next month, I’d be able to spent as much time as I want on developing Hopper. I expect things to go really faster!

The second one is that Hopper now features a new view: on top of the method names, you’ll now find a selector that let you choose if you want to display the list of labels, or the list of strings (ASCII and Unicode) contained in the binary. This makes searching strings really faster!

1 note

And because OS X and Linux is not enough, here is the Windows version of Hopper. This is exactly the same code than the Linux version…
Some of you asked me if the OS X version will become a Qt version too, and the answer is NO, NEVER :) Hopper will always be a native Cocoa application on OS X!

And because OS X and Linux is not enough, here is the Windows version of Hopper. This is exactly the same code than the Linux version…

Some of you asked me if the OS X version will become a Qt version too, and the answer is NO, NEVER :) Hopper will always be a native Cocoa application on OS X!

0 notes

Many features has been implemented in Hopper for Linux: most of the interactions of the OS X version are available on Linux. I still have to port the GDB backend, but I’m pretty happy to see this version advancing so fast…

Still no ETA, nor beta program yet, sorry, but I’m sure it will not take too much time before the first beta will be available…

BTW, Hopper 2.6.3 for OS X is on its way, fixing its bunch of bugs…

1 note

Here is the newcomer!
Hopper is currently being ported to Linux. The core is the same than the OS X version, only the GUI is being rewritten.
At the moment, the main features are already there (ASM view, coloration, navigation, background analysis, symbol navigation, modification of types), and some are just not already bound to the UI (decompiler, CFG, …). I have no ETA for this product, as this is something I develop in background.
In the future, once complete, this version will be ported as is to Windows.

Here is the newcomer!

Hopper is currently being ported to Linux. The core is the same than the OS X version, only the GUI is being rewritten.

At the moment, the main features are already there (ASM view, coloration, navigation, background analysis, symbol navigation, modification of types), and some are just not already bound to the UI (decompiler, CFG, …). I have no ETA for this product, as this is something I develop in background.

In the future, once complete, this version will be ported as is to Windows.

1 note

Back from vacations!
After a long time at fixing bugs, I started to work on UI improvement. Here is the new layout of the upcoming version. Labels are now always visible on the left side of the window.

Back from vacations!

After a long time at fixing bugs, I started to work on UI improvement. Here is the new layout of the upcoming version. Labels are now always visible on the left side of the window.

0 notes

Another small improvement: Hopper can now read Apple ciphered executable, like Finder, Dock, …

Another small improvement: Hopper can now read Apple ciphered executable, like Finder, Dock, …

2 notes

Hopper 2.2.1 is available for update.
There is no bug fix, and the only new feature is a little checkbox in the preference window that allows Hopper to download beta builds. The first beta version (2.5.0-beta1) is available for download from the 2.2.1 build. The changelog
I never felt so stressed :)
Don’t hesitate to contact me if you encounter problems!

Hopper 2.2.1 is available for update.

There is no bug fix, and the only new feature is a little checkbox in the preference window that allows Hopper to download beta builds. The first beta version (2.5.0-beta1) is available for download from the 2.2.1 build. The changelog

I never felt so stressed :)

Don’t hesitate to contact me if you encounter problems!

1 note

Some information on the development of the upcoming 2.5 version.
At the moment, there is a long list of features! Today, I finished handling of ELF (32 and 64 bits) files! As the change log is becoming longer and longer, I plan to start the beta phase in a few days. I only have to find a way to let customers choose between the standard or the beta version…
So, here is the *current* changelog:

- ARM support (only disassembly, no decompilation or debugging at the moment, I’m working on it),
- iOS Mach-O support,
- ELF support (32 and 64 bits),
- embedded ARM and x86 assembler, that permits modification of instructions,
- color themes (light and dark), and added almost all colors in the preferences,
- add an option to disable fuzzy search,
- more C++ demangling,
- add some GDB keyboard shortcuts,
- fix a potential deadlock while resizing the window when the analysis was in progress,
- save windows placement,
- fix the “double return” issue in decompiler,
- some improvements about accessibility (mainly for blind people),
- other small fixes.


Stay tuned!

Some information on the development of the upcoming 2.5 version.

At the moment, there is a long list of features! Today, I finished handling of ELF (32 and 64 bits) files! As the change log is becoming longer and longer, I plan to start the beta phase in a few days. I only have to find a way to let customers choose between the standard or the beta version…

So, here is the *current* changelog:

- ARM support (only disassembly, no decompilation or debugging at the moment, I’m working on it),

- iOS Mach-O support,

- ELF support (32 and 64 bits),

- embedded ARM and x86 assembler, that permits modification of instructions,

- color themes (light and dark), and added almost all colors in the preferences,

- add an option to disable fuzzy search,

- more C++ demangling,

- add some GDB keyboard shortcuts,

- fix a potential deadlock while resizing the window when the analysis was in progress,

- save windows placement,

- fix the “double return” issue in decompiler,

- some improvements about accessibility (mainly for blind people),

- other small fixes.

Stay tuned!

0 notes

Another day, another advance in the ARM support: now, Hopper is able to follow some patterns to discover pointed datas. All the comments you see on this screenshot were automatically generated by Hopper.

Another day, another advance in the ARM support: now, Hopper is able to follow some patterns to discover pointed datas. All the comments you see on this screenshot were automatically generated by Hopper.