Hopper Disassembler Changelog

What's new in Hopper Disassembler 5.15.3

Apr 10, 2024
  • Improves compatibility with the latest versions of Python.

New in Hopper Disassembler 5.15.0 (Mar 27, 2024)

  • Improves compatibility with DYLD shared cache of macOS 14.4 and later.

New in Hopper Disassembler 5.14.3 (Mar 11, 2024)

  • Allows modifications of BSS sections,
  • Fixes a compatibility issue with the latest version of Python (3.12).

New in Hopper Disassembler 5.14.2 (Feb 21, 2024)

  • Improves compatibility with macOS 14.4 beta 3 and 4 DYLD shared cache.

New in Hopper Disassembler 5.14.1 (Feb 20, 2024)

  • Improves the export of Objective-C header,
  • Fixes a few issues in the C type parser.

New in Hopper Disassembler 5.14.0 (Jan 16, 2024)

  • Adds a new command palette which allows to quickly navigate between menus, documents, symbols and strings,
  • Improves detection of some weird ARM constructs for simulating a call instruction,
  • Fixes a decompiler issue where some variable assignments were too aggressively optimised.

New in Hopper Disassembler 5.13.5 (Dec 12, 2023)

  • Fixes some AArch64 vector instructions which were missing their register size suffixes,
  • Fixes an issue with the Python API which prevented usage of some helper functions,
  • Fixes a deadlock in the Linux version.

New in Hopper Disassembler 5.13.4 (Nov 8, 2023)

  • Fixes a crash on startup on macOS 12 and earlier.

New in Hopper Disassembler 5.13.3 (Nov 8, 2023)

  • Reduces the memory footprint of the BinDiff exporter,
  • Proper handling or the ARMv8.5 extension,
  • Fixes a crash when exporting BinDiff for some large files,
  • Fixes disassembly of some vector instructions (aarch64).

New in Hopper Disassembler 5.13.2 (Oct 20, 2023)

  • Fixes an issue in the propagation of no-return method.

New in Hopper Disassembler 5.13.1 (Oct 17, 2023)

  • Improves BinDiff exports.

New in Hopper Disassembler 5.13.0 (Oct 11, 2023)

  • Disassembles the Apple AMX extension instructions,
  • Improves dead code removal in the decompiler,
  • Fixes an issue when a conditional instruction was jumping to a no-return function,
  • Improves how the method signature is computed from a C++ mangled name,
  • Fixes m68k bit field instructions disassembly.

New in Hopper Disassembler 5.12.0 (Sep 14, 2023)

  • Fixes a few issues when debugging a GDB remote target.

New in Hopper Disassembler 5.11.7 (Aug 27, 2023)

  • Drastically reduce the memory footprint on very large binaries during the analysis.

New in Hopper Disassembler 5.11.6 (Aug 6, 2023)

  • Fixes the display of pseudo-string arguments for big endian CPU,
  • Cleans up the code for license and update plan purchases.

New in Hopper Disassembler 5.11.5 (Jul 20, 2023)

  • Improves the handling of newer DYLD caches, especially symbols reading,
  • Works around a bug in macOS Sonoma beta which prevents large documents from being properly displayed.

New in Hopper Disassembler 5.11.4 (Jul 10, 2023)

  • Improves the responsiveness of the address list,
  • Fixes a dead lock when resizing the address list when the procedure list was displayed and a background analysis was running.

New in Hopper Disassembler 5.11.3 (Jun 29, 2023)

  • Improves M68k XREF computation,
  • Fixes the Fedora package.

New in Hopper Disassembler 5.11.2 (Jun 29, 2023)

  • Fixes a crash in the M68k CPU plugin.

New in Hopper Disassembler 5.11.1 (Jun 19, 2023)

  • Adds Python method for bookmarks handling,
  • Fixes the Python prompt for accepting unterminated commands,
  • Refinements on 6502 and M68k CPU plugins.

New in Hopper Disassembler 5.11.0 (May 23, 2023)

  • Provides a useful error message when the assembler fails,
  • Highlights the path that will be taken when the program counter reaches a conditional jump instruction in the debugger,
  • Adds initial support for Motorola 680x0 CPUs,
  • Adds support for Amiga executables and raw ADF,
  • Fixes a potential deadlock when exporting assembly or pseudo-code,
  • Fixes an issue when assembling TBZ / TBNZ instructions.

New in Hopper Disassembler 5.10.0 (May 5, 2023)

  • Adds support for iOS and macOS Kernel Caches (only the ones that are not encrypted),
  • Slightly improve the disassembly of some bit shifting ARMv7 instructions.

New in Hopper Disassembler 5.9.0 (Apr 20, 2023)

  • Fixes an issue when decompiling conditional ARM instructions using the LS condition,
  • Improves the disassembly of ARM instructions using an imm12 encoded field.

New in Hopper Disassembler 5.8.8 (Mar 19, 2023)

  • Improves Apple Silicon decompilation,
  • Fixes an issue which prevented Hopper from decrypting some of the Intel system binaries on Apple Silicon.

New in Hopper Disassembler 5.8.7 (Mar 8, 2023)

  • Improves switch / case detection,
  • Improves no-return function detection,
  • Fixes a crash when exporting BinDiff databases.

New in Hopper Disassembler 5.8.6 (Feb 3, 2023)

  • Exports more symbols from the DYLD shared cache,
  • Improves the time needed to extract a file from the DYLD shared cache,
  • Fixes some colors used for texts on Linux which were not readable on dark themes.

New in Hopper Disassembler 5.8.5 (Jan 17, 2023)

  • Improves the preferences window,
  • Handles some third party mouses for navigating backward / forward using dedicated buttons.

New in Hopper Disassembler 5.8.4 (Dec 22, 2022)

  • Provides a way to identify some Windows functions imported by ordinal.

New in Hopper Disassembler 5.8.3 (Dec 9, 2022)

  • Fixes a crash when parsing Swift metadata on ciphered files.

New in Hopper Disassembler 5.8.1 (Dec 4, 2022)

  • Fixes a layout issue with tabs,
  • Fixes an issue where the decompiler would generate incoherent goto statements,
  • Adds a way to prevent loading user plugins if a plugin make Hopper crash at startup to prevent a crash loop.

New in Hopper Disassembler 5.8.0 (Nov 18, 2022)

  • First iteration on loading Swift metadata. Retrieved information can be found as comments in the dedicated sections,
  • Improves the handling of the new DYLD shared caches, and especially symbols,
  • Fixes a crash when exporting pseudo-code containing very large methods.

New in Hopper Disassembler 5.7.8 (Nov 7, 2022)

  • Adds a way to define environment variables in the debugger,
  • Adds an option to displays the hex column in the debugger when PC / RIP is outside of the main binary file,
  • Allows one to define struct containing relative pointers,
  • Fixes an issue with Python scripts not being updated when edited outside of Hopper,
  • Better parses some Objective-C sections,
  • Fixes a crash when trying to read an old DYLD shared cache from iOS 3.

New in Hopper Disassembler 5.7.7 (Sep 11, 2022)

  • Fixes loading older dyld caches.

New in Hopper Disassembler 5.7.6 (Sep 4, 2022)

  • Fixes a crash while loading an Intel DYLD shared cache.

New in Hopper Disassembler 5.7.5 (Sep 4, 2022)

  • Makes Hopper compatible with iOS 16 DYLD shared caches,
  • Improves extraction of files from DYLD shared caches.

New in Hopper Disassembler 5.7.4 (Jul 29, 2022)

  • Improves the detection of ARMv7EM binaries,
  • Improves the loading of malicious Mach-O executables with a symbol table modified by hand,
  • Improves the loading of DLL files targetting platforms other than Windows,
  • Fixes an issue where only the first references to an address were listed in the inspector,
  • Fixes a crash for some files extracted from a DYLD shared cache.

New in Hopper Disassembler 5.7.3 (Jul 21, 2022)

  • Fixes an issue with the hex editor for files extracted from a FAT binary,
  • Adds an option in the "go to" dialog for jumping at a local or a global (i.e., in the original container) file offset.

New in Hopper Disassembler 5.7.2 (Jul 19, 2022)

  • Fixes a crash when disassembling some variants of the LD1 AArch64 instruction.

New in Hopper Disassembler 5.7.1 (Jul 19, 2022)

  • Fixes missing operands for some vector AArch64 instructions,
  • Fixes a few issues introduced by the Python 3 migration on functions like readBytes.

New in Hopper Disassembler 5.7.0 (Jul 8, 2022)

  • Improves the decompilation of Objective-C programs extracted from the DYLD cache,
  • Fixes the display of 32-bit operands formatted as a float.

New in Hopper Disassembler 5.6.1 (Jun 30, 2022)

  • Improves DYLD cache path discovery on macOS Ventura,
  • Slightly improves the decompiler output,
  • Fixes a crash on multi-display systems when the computer was awakened,
  • Fixes conditional jump instructions on the PowerPC plugin.

New in Hopper Disassembler 5.6.0 (May 31, 2022)

  • Adds a decompiler's option which removes (almost) all GOTO statements. This is still considered as beta as it introduces a lot of temporary variables.
  • Adds a way to change the fields order of a structure, a union or an enum.
  • Adds a way to change the arguments order of a method signature.
  • Fixes an issue with the disassembly of the CCMP instruction (AArch64).

New in Hopper Disassembler 5.5.3 (Apr 17, 2022)

  • Improves loading of ARMv8 ELF binaries by handling more relocation types.

New in Hopper Disassembler 5.5.2 (Mar 25, 2022)

  • Fixes a crash in the DYLD cache loader introduced in 5.5.1.

New in Hopper Disassembler 5.5.0 (Mar 23, 2022)

  • Allows enum types to have a base type in the type editor,
  • Adds a quick way to load a library from the current DYLD cache,
  • Improves the executable dialogs in order to ease navigation with the keyboard.

New in Hopper Disassembler 5.4.0 (Mar 4, 2022)

  • Adds support for BinDiff: you can export a BinExport file to be used with BinDiff, and import back a BinDiff database,
  • Fixes misidentified AArch64e binaries in FAT archives.

New in Hopper Disassembler 5.3.4 (Jan 27, 2022)

  • Speed improvement for the dataflow analysis,
  • Fixes the tool for installing a license for multiple local account for people owing Computer Licenses.

New in Hopper Disassembler 5.3.3 (Jan 21, 2022)

  • More debugger fixes.

New in Hopper Disassembler 5.3.2 (Jan 21, 2022)

  • Fixes a crash in the debugger.

New in Hopper Disassembler 5.3.1 (Jan 7, 2022)

  • Improves detection of no-return functions,
  • Adds a way to choose the entries' size of a switch / case table,
  • Fixes an issue when creating procedures using PAC.

New in Hopper Disassembler 5.3.0 (Dec 24, 2021)

  • Updates Capstone to a more recent version,
  • Fixes a crash when rebasing a MachO binary without chained fixups.

New in Hopper Disassembler 5.2.0 (Dec 5, 2021)

  • Handles the new iOS15 / macOS 12 chained fixups pointers.

New in Hopper Disassembler 5.1.4 (Nov 29, 2021)

  • Fixes an issue where argument analysis was not seeing some instructions.

New in Hopper Disassembler 5.1.3 (Nov 29, 2021)

  • Improves detection of methods' argument, and the signature editor.

New in Hopper Disassembler 5.1.2 (Nov 23, 2021)

  • Uses the same limit as the one defined in the preferences when exporting pseudo-code,
  • Fixes an issue preventing users to re-download the latest version associated to their license.

New in Hopper Disassembler 5.1.1 (Nov 19, 2021)

  • Updates Sparkle to version 1.27.1,
  • Fixes a crash on malformed Mach-O files,
  • Fixes multiple memory leaks.

New in Hopper Disassembler 5.1.0 (Nov 17, 2021)

  • Fixes a parsing issue of bogus exception tables generated by GCC,
  • Fixes an issue with Mach-O relocations,
  • Fixes an issue where it was impossible to read a previously saved document containing too many entrypoints.

New in Hopper Disassembler 5.0.0 (Oct 29, 2021)

  • Fixes a crash in the debugger when logging was enabled,
  • Improves overral macOS Monterey compatibility,
  • Improves detection of a newly added update plan.

New in Hopper Disassembler 4.9.6 (Oct 27, 2021)

  • Fixes a deadlock which may happen when a document was closed.

New in Hopper Disassembler 4.9.5 (Oct 26, 2021)

  • Fixes a crash when loading an old DYLD shared caches (iOS 13 and before),
  • Fixes a weird behaviour of the registration window which was disabling keyboard shortcuts in some situations.

New in Hopper Disassembler 4.9.4 (Oct 22, 2021)

  • Fixes the loading of iOS application bundles downloaded from M1 Macs,
  • Improves method signature detection for some Swift internal methods,
  • Fixes a few issues with some dialogs when types contained some very long names.

New in Hopper Disassembler 4.9.3 (Oct 14, 2021)

  • Fixes an issue in the ARM debugger where SP value was displayed instead of PC value,
  • Fixes the drawing of ARM instructions when PC value is outside of the application memory space,
  • Removes all usages of the deprecated WebKit classe.

New in Hopper Disassembler 4.9.2 (Sep 23, 2021)

  • Fixes an issue where selectors were not properly displayed in pseudo-code of methods extracted from a DYLD cache,
  • Fixes an issue where the wrong symbol name would be displayed on executables extracted from an Apple Silicon DYLD cache.

New in Hopper Disassembler 4.9.0 (Sep 15, 2021)

  • Fixes loading of the new dyld shared cache,
  • Fixes issues with the Objective-C metadata of Apple Silicon binaries.

New in Hopper Disassembler 4.8.2 (Aug 8, 2021)

  • Adds an hexadecimal view in the data inspector of the hex editor mode,
  • Adds a Python method to rebase a document from a script,
  • Fixes a bug in the rebase dialog,
  • Fixes the toolbar on macOS 10.13.

New in Hopper Disassembler 4.8.1 (Jul 25, 2021)

  • Automatic selection of the best Python interpreter.

New in Hopper Disassembler 4.8.0 (Jul 21, 2021)

  • Initial support for the new DYLD shared cache of macOS Monterey,
  • Switch to Python 3.

New in Hopper Disassembler 4.7.7 (Jun 10, 2021)

  • Faster drawing which improves scrolling in bug documents,
  • Improves the creation of pointer differences tables,
  • Fixes a crash at launch on macOS 12 beta 1,
  • Fixes a crash for some Windows binaries.

New in Hopper Disassembler 4.7.6 (May 10, 2021)

  • Fixes an infinite loop on some Windows executables,
  • Fixes a rare crash when using Hopper inside a virtual machine.

New in Hopper Disassembler 4.7.5 (Apr 29, 2021)

  • Fixes an issue with dSYM loader.

New in Hopper Disassembler 4.7.4 (Apr 15, 2021)

  • Fixes a crash when loading some files from the DYLD cache,
  • Fixes an issue when loading additional binaries,
  • Adds some more information on cross references in the inspector panel,
  • Adds a way to restrict searching text only in user comments.

New in Hopper Disassembler 4.7.3 (Apr 1, 2021)

  • Improves loading time of big files.

New in Hopper Disassembler 4.7.2 (Mar 24, 2021)

  • Improves the detection of some no-return functions,
  • Speeds-up the reconstruction of procedures when a signature changes in one of the callees,
  • Fixes a few decompilation issues,
  • Fixes a crash when the Hopper windows was moved accros multiple screens on some systems,
  • Adds methods to create alignment directive from Python scripts,
  • Fixes a crash for some Python scripts which were changing some labels names in the document.

New in Hopper Disassembler 4.7.1 (Jan 25, 2021)

  • Fixes an issue in the C++ demangler for some symbols,
  • Uses theme preferences for the label list,
  • Fixes horizontal scrolling issues.

New in Hopper Disassembler 4.7.0 (Dec 15, 2020)

  • Fixes some ARMv8.1 instructions.

New in Hopper Disassembler 4.6.3 (Dec 2, 2020)

  • Fixes a crash for some elements of the DYLD cache of iOS 14.

New in Hopper Disassembler 4.6.2 (Nov 14, 2020)

  • Fixes the debugger which was unable to launch some old binaries.

New in Hopper Disassembler 4.6.1 (Nov 4, 2020)

  • Fixes a crash in the decompiler when rewriting conditional expressions.

New in Hopper Disassembler 4.6.0 (Nov 3, 2020)

  • First Apple Silicon release,
  • Support for AArch64 debugger,
  • Support for macOS Big Sur,
  • Improves Objective-C metadata parsing,
  • Improves DYLD Shared Cache parsing,
  • Adds an option to deal with PAC pointers on Apple Silicon binaries,
  • Many improvements and fixes.

New in Hopper Disassembler 4.5.29 (Jun 19, 2020)

  • Fixes an issue when compiling the SDK examples with the latest Xcode,
  • Fixes an issue with the comment editor,
  • Improves the import / export sheets in order to better see the results.

New in Hopper Disassembler 4.5.28 (May 14, 2020)

  • Fixes a hang in the decompiler on methods from classes containing weak ivars.

New in Hopper Disassembler 4.5.26 (May 4, 2020)

  • Fixes a decompilation issue on ivar,

New in Hopper Disassembler 4.5.25 (Apr 30, 2020)

  • Fixes a drawing issue on some systems,
  • Fixes a mistake in the SDK.

New in Hopper Disassembler 4.5.24 (Apr 19, 2020)

  • Fixes parsing of Objective-C metadata for binaries targeting the iOS simulator,
  • Fixes a crash while navigating small binaries with keyboard,
  • Fixes issues with addressing mode decoding of MOS 6502 instructions,
  • Added an Oric TAP loader.

New in Hopper Disassembler 4.5.23 (Apr 7, 2020)

  • Improves decompilation of ivar access of Objective-C programs,
  • Fixes a few issues with controls alignment and dark mode.

New in Hopper Disassembler 4.5.22 (Mar 17, 2020)

  • Fixes a crash when one modifies a structure referenced in the assembly,
  • Fixes issues when searching hexadecimal values,
  • Various dark mode issues.

New in Hopper Disassembler 4.5.21 (Feb 6, 2020)

  • More ELF relocation fixes.

New in Hopper Disassembler 4.5.20 (Feb 4, 2020)

  • Fixes issues with relocations when loading Linux kernel modules,
  • Adds methods to create or remove segments from Python scripts.

New in Hopper Disassembler 4.5.19 (Nov 19, 2019)

  • Adds a way to add new segments for representing memory mapped area.

New in Hopper Disassembler 4.5.18 (Nov 4, 2019)

  • Fixes a loading issue of iOS 12+ binaries using threaded binding.

New in Hopper Disassembler 4.5.17 (Oct 27, 2019)

  • Handles endbr32 and endbr64 instructions,
  • Adds a few methods to handle arrays in Python API,
  • Improved Mach-O header information,
  • Improves command line tool,
  • Fixes a crash in the C++ name demangler,
  • Fixes a crash on ARM64.

New in Hopper Disassembler 4.5.16 (Sep 18, 2019)

  • Adds IPA file loader (note: ciphered IPA taken from the AppStore will still be ciphered, obviously...),
  • Fixes an issue with contextual right mouse menu not targeting the right document,
  • Fixes memory leaks.

New in Hopper Disassembler 4.5.15 (Sep 5, 2019)

  • Fixes an UI issue with right click menu where the target document was not properly selected,
  • Improves the C preprocessor, adding directives like #elif,
  • Adds parsing of extended Objective-C category fields.

New in Hopper Disassembler 4.5.14 (Aug 14, 2019)

  • Adds support for Intel HEX file format,
  • Fixes a graphical issue on files with a segment beginning at address 0.

New in Hopper Disassembler 4.5.13 (Jul 8, 2019)

  • Fixes a crash when using "po" and "expr" LLDB commands in the debugger panel,
  • Fixes an issue when searching numbers after another case insensitive search has been performed,
  • Fixes a few issues in the Python API with thumb/ARM identification methods.
  • A few minor bugs has been fixed.

New in Hopper Disassembler 4.5.12 (Jun 21, 2019)

  • Improves switch / case statement detection for ARM 32bits,
  • Adds a way to change operand format options on multiple selection,
  • Provides more information about the issue when the debugger cannot be started.

New in Hopper Disassembler 4.5.11 (May 6, 2019)

  • Fixes an issue in the search feature where results in segments with no sections were not found.

New in Hopper Disassembler 4.5.10 (Apr 27, 2019)

  • Improves Swift 5 name demangling,
  • Now you can use Swift 5 in order to write Hopper plugins.

New in Hopper Disassembler 4.5.9 (Apr 4, 2019)

  • Fixes an issue which prevented some cross references to be properly computed on iOS 12,
  • Fixes a deadlock on some binaries.

New in Hopper Disassembler 4.5.8 (Mar 30, 2019)

  • Fixes AArch64 32bits disassembler (the CPU variant used in the Apple Watch).

New in Hopper Disassembler 4.5.7 (Mar 3, 2019)

  • Fixes a huge slowdown on some big binaries,
  • Tweaks the switch hint dialog for ARM.

New in Hopper Disassembler 4.5.6 (Feb 15, 2019)

  • Fixes some optimisation issues in ARM64 decompiler.
  • Fixes more issues with PDB symbols.

New in Hopper Disassembler 4.5.5 (Feb 4, 2019)

  • Fixes loading of some PDB files,
  • Fixes a performance issue when drawing text containing a breakpoint.

New in Hopper Disassembler 4.5.4 (Jan 24, 2019)

  • Fixes an issue with arrows in the left column not pointing to the correct address while scrolling,
  • Allows one to navigate through the search result with arrow keys in the label list.

New in Hopper Disassembler 4.5.3 (Jan 13, 2019)

  • Fixes various issues with dark mode on Mojave.

New in Hopper Disassembler 4.5.2 (Dec 28, 2018)

  • Fixes a crash in the Windows PE loader.

New in Hopper Disassembler 4.5.1 (Dec 13, 2018)

  • Fixes an issue which prevents newly registered customers to upgrade to the full version.

New in Hopper Disassembler 4.5.0 (Dec 13, 2018)

  • First version of the application notarized at Apple,
  • Better support for environments using Cylance,
  • Initial support for the S4 processor of the latest Apple Watch Series 4,
  • Fixes a rare crash in the debugger.

New in Hopper Disassembler 4.4.9 (Dec 4, 2018)

  • Fixes a compatibility issue with Cylance,
  • Fixes an issue where custom debug servers were not properly saved,
  • Improve C preprocessor parsing.

New in Hopper Disassembler 4.4.8 (Nov 22, 2018)

  • Fixes a decompilation issue where a function call may disappear when used in an empty if / else statement,
  • Fixes an issue with the pseudo-code view after a rebase operation,
  • Initial support for 8 and 16 bits CPUs (but Intel 16 bits is NOT yet supported),
  • Initial support for MOS 6502 / 6510 CPU,
  • Initial support for C64 PRG files, and D64 disk images.

New in Hopper Disassembler 4.4.7 (Nov 16, 2018)

  • Fixes an issue on some systems with empty windows.

New in Hopper Disassembler 4.4.5 (Nov 6, 2018)

  • Fixes a data corruption issue when saving (really) big documents,
  • Fixes graphical glitches at segment boundaries,
  • Improves detection of float parameters in the decompiler for some system functions.

New in Hopper Disassembler 4.4.4 (Oct 11, 2018)

  • Fixes a crash on disassembling files written in Go,
  • Fixes the debugger for 32bits executables.

New in Hopper Disassembler 4.4.3 (Oct 10, 2018)

  • Fixes small graphical issues,
  • Added a way to choose between the light or dark interface independently from the system settings,
  • Fixes an issue in the debugger preventing from attaching to the Finder or the Dock.

New in Hopper Disassembler 4.4.2 (Oct 10, 2018)

  • Fixes drawing issues introduced in 4.4.0.

New in Hopper Disassembler 4.4.1 (Oct 4, 2018)

  • Implements most of the ARMv8.1, ARMv8.2 and ARMv8.3 extensions.

New in Hopper Disassembler 4.4.0 (Sep 30, 2018)

  • Dark mode support (macOS Mojave),
  • New debugger backend using the LLDB C++ API, instead of the Python API (Xcode 10),
  • New graphic engine (macOS Mojave),
  • Fix an issue in the sample m68k CPU project (SDK).

New in Hopper Disassembler 4.3.31 (Sep 17, 2018)

  • Fixes an issue in the Tool SDK when disassembling instructions,
  • Prevents a deadlock with outputting lots of debug messages in the log view,
  • Fixes a memory leak in the hexadecimal mode.

New in Hopper Disassembler 4.3.30 (Sep 1, 2018)

  • Fixes a bug in the ELF loader regarding ARM relocations,
  • Fixes a crash while loading some files from the watchOS 5.0 beta shared DYLD cache.

New in Hopper Disassembler 4.3.29 (Aug 25, 2018)

  • Fixes an issue where main screen would be impossible to read in some circumstances.

New in Hopper Disassembler 4.3.28 (Aug 13, 2018)

  • Fixes an issue with x86 segment registers not displayed in some cases,
  • Fixes a formatting issue on ARM LDRB/STRB instructions where offsets were truncated.

New in Hopper Disassembler 4.3.27 (Aug 9, 2018)

  • Implements most ARM and AArch64 relocation for ELF files,
  • Fixes a slowness during the analysis of file containing big BSS sections,
  • Fixes function pointer signature editor on Linux.

New in Hopper Disassembler 4.3.26 (Jul 15, 2018)

  • Fixes missing symbols in some ELF executables,
  • Improves loading of ELF object files,
  • Adds methods to load and save documents from Python,
  • Adds a way to launch Python commands from the CLI,
  • Some improvements in the SDK for CPU plugins with multiple CPU modes.

New in Hopper Disassembler 4.3.25 (Jun 28, 2018)

  • Slightly improves the ASM analysis,
  • Improves enum types handling,
  • Fixes an issue in the ARM64 calling convention,
  • Fixes an issue in the Windows C++ name demangler,
  • Improves command line tool.

New in Hopper Disassembler 4.3.24 (May 24, 2018)

  • Fixes the module search path for Python scripts,
  • Faster access to labels list in Python scripts.

New in Hopper Disassembler 4.3.22 (May 17, 2018)

  • Fixes an issue where some Python scripts were stopped when Hopper was running in background,
  • Fixes a typo in decompiled Objective-C methods signatures.

New in Hopper Disassembler 4.3.21 (May 10, 2018)

  • Fixes a crash in the decompiler,
  • Better automatic ARM / Thumb handling.

New in Hopper Disassembler 4.3.20 (Apr 25, 2018)

  • Fixes an optimization issue in the decompiler,
  • Fixes missing labels in pseudo-code,
  • Faster pseudo-code export (exporting all procedures is now multithreaded),
  • Lowers memory usage during pseudo-code export,
  • Decompiled Objective-C methods now have a more easily readable signature.

New in Hopper Disassembler 4.3.19 (Apr 20, 2018)

  • Adds a way to export pseudo-code for a single procedure, or all the procedures,
  • Adds a way to export an Objective-C header file, à la class-dump (Objective-C 2 only at the moment)
  • Adds a way to declare strings which are not NULL terminated,
  • You can now customize the application shortcuts,
  • Better ARM prolog detection,
  • Fixes some graphical issues on macOS 10.9,
  • Fixes multiple issues in the decompiler.

New in Hopper Disassembler 4.3.18 (Mar 29, 2018)

  • Fixes a issue when displaying arrays on a single line,
  • Fixes missing types in the SDK

New in Hopper Disassembler 4.3.17 (Mar 28, 2018)

  • Exposes types, and method signatures in the SDK,,
  • Adds method to rename registers from Python and the SDK,
  • Adds a way to print structs and arrays on a single line,
  • Adds a way to import multiple types at once by parsing a C header file,
  • Fixes some issues in the decompiler.

New in Hopper Disassembler 4.3.16 (Feb 17, 2018)

  • Adds the ability to change the display format of a selection,
  • Adds an option to avoid the DUP keyword,
  • Fixes the switch/case pattern based on LDRLS on ARM,
  • Adds some functions to the Python API to get access to demangled names.

New in Hopper Disassembler 4.3.15 (Feb 12, 2018)

  • Fixes a compatibility issue with macOS before 10.12.

New in Hopper Disassembler 4.3.14 (Feb 10, 2018)

  • Fixes a crash when moving in a large decompiled function.

New in Hopper Disassembler 4.3.12 (Jan 13, 2018)

  • Fixes some crashes when opening some very old HOP files,
  • Fixes the "no return" attribute propagation in method signature,
  • Adds some methods to the Python API.

New in Hopper Disassembler 4.3.11 (Dec 28, 2017)

  • Fixes an issue with the detection of switch / case on ARM64 which may end in an infinite loop,
  • Fixes an issue with rebasing of Mach-O dylib,
  • Fixes an issue with some object files generated by NASM,
  • Additions to the SDK and the Python API.

New in Hopper Disassembler 4.3.10 (Dec 16, 2017)

  • Fixes the command line tool.

New in Hopper Disassembler 4.3.9 (Dec 16, 2017)

  • Fixed a missing case in the corrupted database issue handling.

New in Hopper Disassembler 4.3.8 (Dec 16, 2017)

  • Fixes a crash which occurs when the "Data Inspector" inspector component is collapsed,
  • Fixes a data corruption due to a old database format (fortunately, no data were lost),
  • You can extend the popups in the other direction while pressing the Alt key,
  • Adds a way to truncate a procedure.

New in Hopper Disassembler 4.3.7 (Nov 30, 2017)

  • Better handling of Windows executables,
  • Updates the method signature database for Mac, Linux and Windows,
  • Fixes a crash in the search dialog,
  • Adds a way to define a method signature for external functions,
  • Adds some ARM64 switch / case patterns.

New in Hopper Disassembler 4.3.5 (Nov 2, 2017)

  • Pseudo-code mode can now be synced with other modes,
  • Fixes some situations where PIC registers in 32 bits executables were not properly tracked,
  • Alt+click can now be used to create split view from many dialogs,
  • Various optimisations.

New in Hopper Disassembler 4.3.4 (Oct 24, 2017)

  • Fixes an issue when trying to load an old database from Hopper v2,
  • Adds an option to hide columns in the label list,
  • Adds an option to hide the toolbar,
  • Fixes a deadlock issue during save,
  • Fixes a performance issue on ARM files.

New in Hopper Disassembler 4.3.3 (Oct 23, 2017)

  • Fixes decoding operands of MSR/MRS instructions,
  • Safer way to save files.

New in Hopper Disassembler 4.3.2 (Oct 22, 2017)

  • Fixes a potential issue with the new preferences system.

New in Hopper Disassembler 4.3.1 (Oct 22, 2017)

  • Fixes an issue with the hex mode on macOS 10.9

New in Hopper Disassembler 4.3.0 (Oct 21, 2017)

  • New analysis engine,
  • More information in the label list,
  • Better handling of Windows executables,
  • Parses exceptions from GCC/Clang and Windows SEH structures,
  • Detects more switch / case constructions,
  • Fixes Python script execution on Linux,
  • Fixes some ARM instruction with floating point operand,
  • Fixes an issue where the application would fall back to the demo mode after the computer has been suspended,
  • Improves speed on areas with a lot of references,
  • Various optimisations.

New in Hopper Disassembler 4.2.21 (Sep 28, 2017)

  • Properly handle the BND prefix.

New in Hopper Disassembler 4.2.20 (Sep 27, 2017)

  • Tweaks the interface for macOS High Sierra,
  • Now you can create arrays of arbitrary length by selecting bytes,
  • Adds an option to extend the segments, so that it is possible to edit any part of the file.

New in Hopper Disassembler 4.2.19 (Sep 23, 2017)

  • Better handling of MRC/MCR instructions,
  • Better decoding os STOS/LODS/INS/OUTS instructions with prefixes,
  • Fixes an issue with relocation on ELF files.

New in Hopper Disassembler 4.2.18 (Sep 16, 2017)

  • Fixes a crash in the type editor,
  • Fixes an issue with arrays on stack,
  • Fixes an issue when setting a switch hint with absolute addresses in a 64 bits executable.

New in Hopper Disassembler 4.2.17 (Sep 11, 2017)

  • Fixes an issue which causes the lost of formatting for some operands

New in Hopper Disassembler 4.2.16 (Sep 9, 2017)

  • Fixes an issue when disassembling some NEON instructions,
  • New argument formatting option for addresses relative to another address,
  • Fixes an incompatibility with Mavericks.

New in Hopper Disassembler 4.2.15 (Sep 2, 2017)

  • Fixes an excessive usage of RAM when closing a document running a background analysis,
  • Loads symbols of dyld shared cache, even when loading the whole mapping,
  • Fixes some memory leak,
  • Fixes a crash in the debugger,
  • Fixes debugger on Mavericks.

New in Hopper Disassembler 4.2.14 (Aug 21, 2017)

  • Fixes an issue preventing loading some HOP files

New in Hopper Disassembler 4.2.13 (Aug 18, 2017)

  • Fixes Mavericks compatibility

New in Hopper Disassembler 4.2.12 (Aug 12, 2017)

  • Optimization of the navigation bar drawing,
  • Better handling of external symbols in DYLD shared cache.

New in Hopper Disassembler 4.2.11 (Aug 7, 2017)

  • Complete rewrite of the DYLD shared cache loader,
  • Fixes an issue in the debugger when debugging a dylib.

New in Hopper Disassembler 4.2.10 (Jul 25, 2017)

  • Improves information in mach-o headers,
  • Adds a new switch hint mode,
  • Fixes a deadlock in the debugger.

New in Hopper Disassembler 4.2.9 (Jul 11, 2017)

  • Fixes a formatting issue on TST instruction (ARM64),
  • Fixes a database corruption issue in some rare situations,
  • Add some new switch / case types,
  • Automatically detect some new switch / case constructs.

New in Hopper Disassembler 4.2.8 (Jul 8, 2017)

  • Fixes a decompilation issue due to pointer aliasing,
  • Fixes decompilation of TBZ/TBNZ ARM instructions,
  • Fixes some issues with Objective-C protocol recognition in the decompiler,
  • Now you can define another color for jumping instructions,
  • Some additions to the Python API,
  • Various small fixes.

New in Hopper Disassembler 4.2.7 (Jul 6, 2017)

  • Better demangling of Swift 4 names,
  • Better representation of enums in pseudo-code,
  • Fixes some glitches in the navigation bar on small files,
  • Fixes an infinite loop in the PowerPC disassembler.

New in Hopper Disassembler 4.2.6 (Jun 29, 2017)

  • Fixes double-click on objects in CFG mode,
  • Changes to the HEX mode behaviour.

New in Hopper Disassembler 4.2.5 (Jun 28, 2017)

  • You can move the edges of the CFG, and add/remove control points, using the Cmd key,
  • Improves the decompilation of AArch64 binaries (especially ivar access, and strings references),
  • Adds a data inspector in the right pane in hex mode,
  • Various fixes.

New in Hopper Disassembler 4.2.3 (Jun 17, 2017)

  • Fixes decoding of some STP/LDP AArch64 instructions,
  • Fixes some improperly displayed variables,
  • Slightly faster loading and saving

New in Hopper Disassembler 4.2.2 (May 31, 2017)

  • Fixes the rebasing algorithm for Mach-O files,
  • Fixes a hang when opening the contextual menu on files containing invalid Objective-C metadata,
  • Fixes a crash in some rare situations when creating a procedure.

New in Hopper Disassembler 4.2.1 (May 26, 2017)

  • Fixes a crash after a method signature has been edited.

New in Hopper Disassembler 4.2.0 (May 25, 2017)

  • Now you can give a type to a local variable,
  • Allows one to name breakpoints,
  • Fixes some issues in the decompiler,
  • Fixes a crash during the analysis of empty ELF sections

New in Hopper Disassembler 4.1.5 (Apr 29, 2017)

  • Fixes an issue with pointers in the decompiler.

New in Hopper Disassembler 4.1.4 (Apr 27, 2017)

  • Fixes decompilation of SETcc instructions,
  • Visual Studio PDB symbols support,
  • Get more information on plugins compliance to the SDK,
  • Lower memory footprint (around -20%).

New in Hopper Disassembler 4.1.3 (Apr 19, 2017)

  • Fixes multiple issues in the ARM Neon disassembler.

New in Hopper Disassembler 4.1.1 (Apr 12, 2017)

  • Add a decompilation option to remove NOPs,
  • Fixes an issue where x86 instructions accessing the immediate 0x0 address were improperly displayed,
  • Fixes an issue in the decompiler where some Objective-C messages were truncated,
  • Fixes multiple issues in the AArch64 decompiler.

New in Hopper Disassembler 4.1.0 (Apr 7, 2017)

  • Fixes issues with some AArch64 instructions,
  • Improves PE executable parsing,
  • Visual C++ symbol demangling.
  • Handles some switch / cases constructions which use indirect tables.

New in Hopper Disassembler 4.0.35 (Mar 17, 2017)

  • Fixes a deadlock in the debugger command panel on interactive command,
  • Better handling of some TBB/TBH constructions,
  • Fixes a scrolling issue.

New in Hopper Disassembler 4.0.34 (Mar 15, 2017)

  • Fixes a crash on some iOS binaries.
  • Fixes missing information on some ARMv8 vector instructions.

New in Hopper Disassembler 4.0.33 (Mar 15, 2017)

  • Fixes the display of some ARM vector instructions,
  • Fixes a crash in the Swift demangler,
  • Fixes a rare issue where analysis time was very long.

New in Hopper Disassembler 4.0.32 (Mar 10, 2017)

  • Fixes decoding os ARMv8 SIMD instructions.
  • Fixes a layout issue in the inspector panel.

New in Hopper Disassembler 4.0.31 (Feb 28, 2017)

  • Fixes some issues in the debugger (bad register values),
  • Better handling of Objective-C method signatures,
  • Fixes some aesthetic glitches

New in Hopper Disassembler 4.0.30 (Feb 15, 2017)

  • Fixes disassembly of some ARM64 instructions (csel,fcsel ...),
  • Improves ARM64 decompilation of Objective-C code,
  • Fixes highlighting when scrolling the document.

New in Hopper Disassembler 4.0.29 (Feb 4, 2017)

  • Fixes some issues in the PPC CPU plugin.

New in Hopper Disassembler 4.0.28 (Feb 3, 2017)

  • Basic PowerPC support (mainly for MachO files),
  • Fixes computation of the new tagged CFString addresses on Sierra, and iOS 10,
  • Various small graphical glitches have been fixed.

New in Hopper Disassembler 4.0.27 (Feb 2, 2017)

  • Fixes a deadlock in the debugger when setting breakpoints,
  • Adds completion to the embedded LLDB console,
  • Fixes a problem with the sample m68k CPU plugin in the SDK.

New in Hopper Disassembler 4.0.26 (Feb 1, 2017)

  • Adds binary files to the "Open Recent" menu,
  • The "Procedures" tabs now display more information,
  • Fixes an issue with dialogs created from Python scripts,
  • Fixes various graphical glitches,
  • Various optimisations.

New in Hopper Disassembler 4.0.25 (Jan 27, 2017)

  • Fixes an issue with decoding of some ARMv8 instructions containing large immediate value,
  • Mach-O headers were not commented anymore.

New in Hopper Disassembler 4.0.24 (Jan 20, 2017)

  • Fixes an issue while updating the application on Sierra.

New in Hopper Disassembler 4.0.23 (Jan 19, 2017)

  • Handles variadic methods using nil sentinel in the decompiler,
  • Fixes the display of some ARM instruction using shifter,
  • Fixes an issue where a basic block was missing a successor in some very rare cases,
  • Adds an option to force the prolog heuristic used to automatically find procedures.

New in Hopper Disassembler 4.0.22 (Jan 18, 2017)

  • Fixes multiple issues during the ARM64 analysis,
  • Fixes ADR instruction decoding on ARMv7,
  • Fixes some issues when selecting text,
  • Smoother scrolling.

New in Hopper Disassembler 4.0.21 (Jan 13, 2017)

  • Faster overall analysis,
  • Fixes an analysis issue in the ARMv7 disassembler,
  • Fixes dyld iOS shared cache loading,
  • Improves 10.9 compatibility.

New in Hopper Disassembler 4.0.20 (Jan 8, 2017)

  • Fixes a crash on ARMv7

New in Hopper Disassembler 4.0.19 (Jan 6, 2017)

  • Fixes handling of IT instructions on ARM Thumb,
  • Better decompilation of Objective-C instance variable access,
  • Faster decompiler.

New in Hopper Disassembler 4.0.18 (Dec 29, 2016)

  • Faster navigation in big files,
  • Fixes an issue where operands of the TEST instructions were swapped,
  • Fixes an issue where procedures were not properly created, especially on object files extracted from static libraries,
  • Automatically process the "_ustring" section of MachO files.

New in Hopper Disassembler 4.0.17 (Dec 24, 2016)

  • Hopper v4 is now compatible with OS X 10.9,
  • Adds a navigation stack explorer to the inspector,
  • Fixes an issue in the decompiler where constants were not properly propagated,
  • Initial support for remote KDP connection.

New in Hopper Disassembler 4.0.16 (Dec 16, 2016)

  • Allows to remotely debug Windows applications with gdbserver.

New in Hopper Disassembler 4.0.2 (Nov 18, 2016)

  • Fixes an issue with macOS 10.12.1 build 16B2555

New in Hopper Disassembler 4.0.1 (Nov 18, 2016)

  • Fixes some crashes

New in Hopper Disassembler 4.0.0 (Nov 18, 2016)

  • Display modes,
  • Interactive control flow graph,
  • Swift demangler,
  • Enumarated types,
  • A lot faster on many tasks,
  • Local labels,
  • Register renaming,
  • Smart contextual menu,

New in Hopper Disassembler 3.13.2 (Nov 4, 2016)

  • Allows one to install its Computer License for all users.

New in Hopper Disassembler 3.13.1 (Oct 25, 2016)

  • Fixes toolbar icons on macOS 10.12.1.

New in Hopper Disassembler 3.13.0 (Oct 24, 2016)

  • Fixes rebasing of MachO files,
  • Prepares the beta channel for the upcoming v4.0.

New in Hopper Disassembler 3.12.1 (Oct 17, 2016)

  • Fixes a crash in the ELF loader.
  • Fixes a rare issue when building the basic blocks of a function in some circumstances.

New in Hopper Disassembler 3.12.0 (Oct 12, 2016)

  • Switch the update URL to HTTPS.

New in Hopper Disassembler 3.11.23.1 (Oct 10, 2016)

  • Fixes a deadlock when trying to debug a SIP protected binary.
  • Fixes a layout issue in the debugger panel.

New in Hopper Disassembler 3.11.23 (Oct 4, 2016)

  • Fixes a crash of the debugger when using the WineDBG server.

New in Hopper Disassembler 3.11.22 (Oct 1, 2016)

  • Fixes a crash on startup for some users.

New in Hopper Disassembler 3.11.21 (Sep 30, 2016)

  • Fixes the ARM64 assembler for the ADR/ADRP instructions,
  • Changes the debugger window layout to improve readability of the callstack.

New in Hopper Disassembler 3.11.20 (Sep 6, 2016)

  • Fixes a regression in data detection on files loaded with the RAW Binary loader,
  • Changes the behavior of the « transform to C string » function, so that Hopper creates as many strings as possible when the user has selected multiple lines,
  • Fixes some minor aesthetic glitches in the debugger panel.

New in Hopper Disassembler 3.11.19 (Sep 5, 2016)

  • Fixes issues when loading iBEC / iBSS files,
  • Adds some options to the RAW Binary loader.

New in Hopper Disassembler 3.11.18 (Sep 1, 2016)

  • Fixes an issue with ciphered MachO executable on OS X >= 10.10.5

New in Hopper Disassembler 3.11.17 (Jul 5, 2016)

  • Fixes multiple issues regarding relocations of MachO files (especially on ARM ".o" files, and static libraries)

New in Hopper Disassembler 3.11.16 (Jun 27, 2016)

  • Fixes a deadlock in the assembler,
  • Allows switch hints on the "BR" instruction (ARM64).

New in Hopper Disassembler 3.11.15 (Jun 20, 2016)

  • Enable switch hints on the BR instruction (ARM64),
  • Fixes the loading of some static libraries,
  • Fixes a rare crash on loading some MachO binaries,
  • Updates the Sparkle Updater framework.

New in Hopper Disassembler 3.11.14 (Jun 20, 2016)

  • Fixes issues with MachO bindings, causing the debugger to fail at launching some executables.
  • Fixes an executable export issue.

New in Hopper Disassembler 3.11.13 (Mar 20, 2016)

  • Fixes an issue with some Intel instructions with scaled index registers.

New in Hopper Disassembler 3.11.12 (Feb 22, 2016)

  • Always use thumb mode when ARMv7m is selected,
  • Fixes some issues with GDB backend,
  • Properly set the end of procedure when an unknown instruction is found during analysis.

New in Hopper Disassembler 3.11.11 (Feb 10, 2016)

  • Fixes an issue where the references were not properly displayed.

New in Hopper Disassembler 3.11.10 (Feb 5, 2016)

  • Detects a new kind of x86 switch / case construct,
  • Fixes an issue in the SDK.

New in Hopper Disassembler 3.11.9 (Feb 4, 2016)

  • Updates the Sparkle framework.

New in Hopper Disassembler 3.11.8 (Jan 22, 2016)

  • Fixes a crash in the decompiler,
  • Properly handles the UD2 instruction when analysing the control flow,
  • Fixes an issue where custom CPU plugins were not properly set when used with bundled file loaders,
  • Better detection of ARM / Thumb

New in Hopper Disassembler 3.11.7 (Jan 15, 2016)

  • Fixes many issues on the stack pointer analysis for complex methods,
  • Fixes some typos.

New in Hopper Disassembler 3.11.6 (Jan 14, 2016)

  • Fixes the rebase function of MachO files,
  • Fixes a crash in the decompiler when an Objective-C class could not be parsed because of a previous rebase operation for instance,
  • Warns the user if document contains unsaved changes before loading another executable, or database,
  • Allows export of deciphered Mach-O executables.

New in Hopper Disassembler 3.11.5 (Dec 10, 2015)

  • Allows usage of C++ for plugins.

New in Hopper Disassembler 3.11.4 (Dec 3, 2015)

  • Better stack analysis during decompilation of 32bits executables.

New in Hopper Disassembler 3.11.3 (Nov 24, 2015)

  • Adds a way to navigate through labels in the decompiled pseudo-code,
  • Adds a way to navigate through methods, in the decompiler,
  • Fixes some pointer analysis of some static C++ methods,
  • Handles a new ARM Switch / Case construct,
  • Lowers the amount of needed memory,
  • Fixes some little issues.

New in Hopper Disassembler 3.11.2 (Nov 16, 2015)

  • Fixes an issue with the displacement of a few x86 instructions,
  • Change the default format of some ARM / AArch64 instruction.

New in Hopper Disassembler 3.11.1 (Oct 29, 2015)

  • Fixes a rare crash.

New in Hopper Disassembler 3.11.0 (Oct 27, 2015)

  • Adds "Previous XREF" and "Next XREF" navigation features,
  • Fixes some issues when reading static library files,
  • Fixes a freeze on some Windows PE files.

New in Hopper Disassembler 3.10.9.1 (Sep 22, 2015)

  • Adds a control to choose the warning limit of the basic blocks when decompiling,
  • Fixes a crash for some malformed binary files.

New in Hopper Disassembler 3.10.9 (Sep 15, 2015)

  • the command line tool can now be used to launch a Python script after a file is loaded.

New in Hopper Disassembler 3.10.8.1 (Sep 7, 2015)

  • fixes a crash on startup.

New in Hopper Disassembler 3.10.7 (Sep 3, 2015)

  • Fixes an infinite loop when disassembling a file containing sections of less than 4 bytes long.

New in Hopper Disassembler 3.10.6 (Sep 1, 2015)

  • Allows one to select the ARM cpu type for ELF files.

New in Hopper Disassembler 3.10.5 (Aug 24, 2015)

  • Fixes the "Attach to process" behaviour.

New in Hopper Disassembler 3.10.4 (Aug 24, 2015)

  • fixes an issue when loading ELF binaries with sections of 0 bytes length,
  • fixes an issue when loading FAT dSYM files,
  • prevents a dead-lock when one tries to load another file whilst the file loading dialog is already opened, - fixes a crash when the pseudo-code window is closed without closing the search panel first.

New in Hopper Disassembler 3.10.2.2 (Jul 28, 2015)

  • Fixes a crash under OS X 10.7, and OS X 10.8.

New in Hopper Disassembler 3.10.1 (Jul 21, 2015)

  • Fixes an issue with non functioning breakpoints in some cases
  • Fixes a mistake in the decompiler.

New in Hopper Disassembler 3.10.0 (Jul 18, 2015)

  • Fixes an issue with Bit9,
  • Added debug log information for the debugger.

New in Hopper Disassembler 3.9.16 (Jul 1, 2015)

  • Now you can create arrays of custom type, like structs,
  • Fixes an issue with plugin loader.

New in Hopper Disassembler 3.9.15 (Jun 27, 2015)

  • fixes a deadlock when the section, or segment panel was requested, while another sheet was displayed,
  • adds an option to switch off font antialiasing,
  • fixes a display issue of modified automatically generated labels.

New in Hopper Disassembler 3.9.14 (Jun 23, 2015)

  • fixes an issue when rebasing a MachO file,
  • fixes a deadlock when decompiling a procedure, while the background analysis was not finished,
  • enables third party CPU plugins in the MachO and ELF loaders.

New in Hopper Disassembler 3.9.13 (Jun 22, 2015)

  • Fixes a crash under OS X 10.11.

New in Hopper Disassembler 3.9.12 (Jun 19, 2015)

  • fixes an issue when exporting an executable,
  • fixes an issue in the Python scripts.

New in Hopper Disassembler 3.9.11 (Jun 12, 2015)

  • Fixes a crash while disassembling some ARM files.

New in Hopper Disassembler 3.9.10 (Jun 10, 2015)

  • fixes an issue where instructions with explicit segment register were badly disassembled,
  • fixes an issue when decompiling some Objective-C selectors, like "+scheduledTimer:..."

New in Hopper Disassembler 3.9.9 (Jun 1, 2015)

  • Fixes the PE export table parser.

New in Hopper Disassembler 3.9.8 (May 30, 2015)

  • improves signature detection,
  • improves decompilation of Objective-C ivar,
  • various fixes.

New in Hopper Disassembler 3.9.7 (May 28, 2015)

  • fixes an issue where code where not followed in some cases,
  • fixes highlighting of Intel registers,
  • fixes some misnamed arguments in pseudo-code.

New in Hopper Disassembler 3.9.6 (May 25, 2015)

  • enhances the decompilation's output, especially for the ARM processor,
  • better handling of the MOVW / MOVT sequence for creating addresses, and references (ARM),
  • misc bugs fixed.

New in Hopper Disassembler 3.9.5 (May 16, 2015)

  • prevents UI lock when analyzing large procedures,
  • adds a way to properly cancel a decompilation which takes too much time to complete.

New in Hopper Disassembler 3.9.4 (May 11, 2015)

  • Fixes issues when decompiling Windows executables.

New in Hopper Disassembler 3.9.3 (May 5, 2015)

  • fixes issues with the Cortex-M,
  • fixes issues in the decompiler.

New in Hopper Disassembler 3.9.2 (May 1, 2015)

  • fix an issue where instruction prefixes were displayed twice,
  • add the option to remove HI/LO macros in the Linux version.

New in Hopper Disassembler 3.9.1 (Apr 30, 2015)

  • Fixed an issue in the decompiler.

New in Hopper Disassembler 3.8.0 (Mar 28, 2015)

  • Now you can connect to a standard GDB server (x86 only).

New in Hopper Disassembler 3.7.14 (Mar 23, 2015)

  • Fix the local debugger

New in Hopper Disassembler 3.7.13 (Mar 20, 2015)

  • Fixes a potential crash when launching the debugger.

New in Hopper Disassembler 3.7.12 (Mar 11, 2015)

  • Updates the Python API.
  • Fixes various issues.

New in Hopper Disassembler 3.7.11 (Mar 9, 2015)

  • Fixes misc issues.

New in Hopper Disassembler 3.7.10 (Mar 7, 2015)

  • Fixes issues in the decompiler.

New in Hopper Disassembler 3.7.9 (Mar 5, 2015)

  • Fixes issues in the debugger.

New in Hopper Disassembler 3.7.8 (Feb 23, 2015)

  • Fixes many issues in the debugger.

New in Hopper Disassembler 3.7.5 (Feb 2, 2015)

  • Fixes some issues with 32 bits executables,
  • Adds a textual search ability to the pseudo-code window.

New in Hopper Disassembler 3.7.3 (Jan 29, 2015)

  • Now you can debug multiple executables at once,
  • Fixes a crash under OS X 10.7 and 10.8 when using the 3D graph,
  • Fixes some relocation issues on MachO files.

New in Hopper Disassembler 3.7.2 (Jan 28, 2015)

  • Fixes a regression introduced in Hopper 3.7.1 when loading a framework.

New in Hopper Disassembler 3.7.1 (Jan 26, 2015)

  • Fixes loading of kernel extensions

New in Hopper Disassembler 3.7.0 (Jan 24, 2015)

  • adds a new procedure tracing mode in the debugger,
  • fixes an issue where breakpoints were ignored while debugging an application with a non null ASLR slide,
  • various fixes.

New in Hopper Disassembler 3.6.10 (Dec 23, 2014)

  • Fixes an issue when loading malformed ELF files,
  • Fixes a crash when parsing Objective-C metadata,
  • Now you can move the CFG with CTRL+click.

New in Hopper Disassembler 3.6.9 (Dec 13, 2014)

  • Fixes a demangling issue

New in Hopper Disassembler 3.6.8 (Dec 12, 2014)

  • Fixes a crash with some malformed MachO files,
  • Fixes an issue where tags were not listed after loading an HOP file,
  • Now you can zoom using CTRL+mouse wheel in the CFG window,
  • Various optimizations.

New in Hopper Disassembler 3.6.7 (Dec 6, 2014)

  • Fixes an update issue for some customers.

New in Hopper Disassembler 3.6.6 (Dec 5, 2014)

  • Handles the Windows PE thunks,
  • Fixes a crash in the decompiler,
  • Fixes a crash when loading some malformed MachO files,
  • Various visual improvements.

New in Hopper Disassembler 3.5.9 (Oct 11, 2014)

  • Fixes many issues with the ARM disassembler,
  • Uses the C++ mangled names to create method signatures,
  • Fixes small UI issues.

New in Hopper Disassembler 3.5.8 (Oct 9, 2014)

  • Fixes an issue in the decompilaton of the SETcc instructions,
  • Adds the missing CMOVGE instruction in decompiler,
  • Fixes an issue where integer values were substituted by addresses in the decompiler,
  • Fixes a crash in the decompiler, introduced in 3.5.7,
  • Various small fixes.

New in Hopper Disassembler 3.5.6 (Oct 6, 2014)

  • Fixes an issue with the argument order of the stdcall calling convention,
  • Fixes a bad decompilation of some conditional jump,
  • Fixes many issues with Python scripts.

New in Hopper Disassembler 3.5.4 (Sep 27, 2014)

  • It is now possible to relocate an executable to another address.
  • Fix some issues in the binding of MachO files.
  • Fix many issues with cross references on WinPE files.

New in Hopper Disassembler 3.5.3 (Sep 17, 2014)

  • Fix an issue with the updater (for the next update...)

New in Hopper Disassembler 3.5.2 (Sep 16, 2014)

  • When you double-click on a symbol while pressing the Alt key, Hopper splits the window and follow the address in the other split,
  • Fix a rare crash on some configuration.

New in Hopper Disassembler 3.5.1 (Sep 15, 2014)

  • the assembly view can be splitted,
  • prevents the UI to freeze during the last analysis step,
  • update of the Sparkle updater,
  • fixes a crash under Yosemite while scrolling.

New in Hopper Disassembler 3.5.0 (Sep 11, 2014)

  • now, you can define structs, and other higher level types, like function pointer,
  • (really) faster loading of huge executables containing many Objective-C classes,
  • decompiler has been improved to handle some weird cases, and to make use of some information (like format strings in some Objective-C methods),
  • assembler can now assemble string litterals,
  • fixes some issues when drawing the highlight on words,
  • fixes the loading of MachO files which use the MH_SPLIT_SEGS option,
  • other small fixes...

New in Hopper Disassembler 3.4.3 (Sep 3, 2014)

  • fix an undo/redo crash on procedures,
  • fix even more C++ demangling cases,
  • fix the debugger not injecting the modifications before debugging,
  • fix many issues with AT&T syntax.

New in Hopper Disassembler 3.3.8 (Aug 1, 2014)

  • fixes the method's searching with old Objective-C runtime.

New in Hopper Disassembler 3.3.7 (Aug 1, 2014)

  • automatic annotation of the system methods parameters,
  • two new tools to search method calls, and Objective-C methods references,
  • during the decompation, Hopper now uses the format strings of Objective-C methods to gather arguments,
  • fix some XREF calculation issues on ARM.

New in Hopper Disassembler 3.3.6 (Jul 30, 2014)

  • fixed many issues with the automatic analysis,
  • fixed the computed PC register value in ARM binaries,
  • improved the ARM analysis.

New in Hopper Disassembler 3.3.5 (Jul 26, 2014)

  • Many bugs fixed.

New in Hopper Disassembler 3.3.4 (Jul 19, 2014)

  • now you can debug Frameworks under OS X,
  • all processes of the current user are now correctly listed,
  • various fixes.

New in Hopper Disassembler 3.3.3 (Jul 17, 2014)

  • the local debugger can now attach to a process (OS X only),
  • added a separate window for the application input and output while debugging,
  • the decompiler should produce less goto statements,
  • added the ability to display an operand as a binary string.

New in Hopper Disassembler 3.3.2 (Jul 12, 2014)

  • fixes a crash while parsing a symbol with non-UTF8 characters,
  • fixes an issues with the XMM registers in the decompiler,
  • fixes procedure prolog discovery,
  • fixes GDB backend unders Linux.

New in Hopper Disassembler 3.3.1 (Jul 11, 2014)

  • fixes LLDB local debugger under Yosemite,
  • fixes the parsing of file which contains Swift classes,
  • fixes a rare crash in the ELF loader.

New in Hopper Disassembler 3.3.0 (Jul 8, 2014)

  • introducing the local debugger,
  • many improvements in the debugger.

New in Hopper Disassembler 3.2.10 (Jul 5, 2014)

  • huge improvements on the decompiler,
  • various bug fixes.

New in Hopper Disassembler 3.2.5 (Jun 11, 2014)

  • handles the ARM TBB / TBH instructions, and detects switch / case statements,
  • fixes an issue where the bounding box of the CFG was too tight,
  • fixes an issue on the find window when it was used for the first time,
  • the utility panels can be kept visible when application loses the focus (option in preferences),
  • the tag scope list now can be resized.

New in Hopper Disassembler 3.2.4 (Jun 2, 2014)

  • smoother scrolling,
  • adds menus to navigate at the top of a procedure, or at a given offset.

New in Hopper Disassembler 3.2.3 (May 31, 2014)

  • fix the assembler for Jcc / JMP / CALL instructions,
  • fix issues with operator priorities in pseudo-code.

New in Hopper Disassembler 3.2.2 (May 20, 2014)

  • fix a potential issue for computers tied to an Open Directory domain,
  • added a new switch / case hint for some code generated by VS compiler.

New in Hopper Disassembler 3.2.1 (May 19, 2014)

  • fix the ELF 64 loader

New in Hopper Disassembler 3.2.0 (May 15, 2014)

  • fix a crash while decompiling some methods,
  • add ELF debug symbol loading,
  • various fixes.

New in Hopper Disassembler 3.1.3 (Mar 29, 2014)

  • fix a disassembly issue of the ARM CBZ/CBNZ instructions,
  • fix a decompilation issue of instructions that use the carry flag on ARM,
  • add access to the XREFs from the SDK,
  • add a toolbar's button for the debugger,
  • add some preliminary documentation in the SDK archive.

New in Hopper Disassembler 3.1.2 (Mar 14, 2014)

  • fixes an issue with the option dialog which is shown during the loading a binary file,
  • adds an HexII representation in the hexadecimal editor,
  • fixes some little issues in the SDK.

New in Hopper Disassembler 3.1.1 (Mar 14, 2014)

  • Adds support for ARMv7s and ARMv7m processors,
  • Fixes some issues with the decompiler.

New in Hopper Disassembler 3.1.0 (Mar 7, 2014)

  • introduces the first public SDK,
  • fixes small issues in the decompiler.

New in Hopper Disassembler 3.0.10 (Mar 3, 2014)

  • fix various issues with the decompiler, where some statements were too aggressively optimized,
  • some major internal changes, for the upcoming SDK, about how Hopper handles its files loader and CPU modules.

New in Hopper Disassembler 3.0.9 (Feb 27, 2014)

  • Fix an issue where GDB backend were stalled in a high CPU usage loop.
  • Add a method to the Python API to get access to the decompiled version of a procedure.
  • Fix an issue with CFG graph.

New in Hopper Disassembler 3.0.8 (Feb 25, 2014)

  • Fix an issue where third party application (like theming applications) would make Hopper crash on startup.

New in Hopper Disassembler 3.0.6 (Feb 22, 2014)

  • Various fixes on the decompiler.

New in Hopper Disassembler 3.0.5 (Feb 21, 2014)

  • fix a crash while loading ELF file,
  • fix regressions in the decompiler,
  • fix an issue on the parsed metadata of Objective-C classes.

New in Hopper Disassembler 3.0.4 (Feb 20, 2014)

  • Fix misc ARM disassembler problems,
  • Prevent crash on malformed MachO files,
  • Adds a Python method to retrieve the Hopper version,
  • Small enhancements for the UI,
  • Various bugs fixed.

New in Hopper Disassembler 3.0.3 (Feb 18, 2014)

  • Restore the ability to load ciphered MachO Mac executable, like Finder, Dock, etc.,
  • Huge boost performance on loading some big MachO files,
  • Now, you can hide left, right and bottom panels.

New in Hopper Disassembler 3.0.2 (Feb 14, 2014)

  • Faster loading of MachO files that contains lots of Objective-C classes,
  • Faster tag filtering.

New in Hopper Disassembler 2.8.8 (Feb 12, 2014)

  • Fixed a crash when launching Hopper for the first time

New in Hopper Disassembler 2.8.6 (Jan 8, 2014)

  • fix an instruction operand decoding issue,
  • fix a typo in the Python scripting bridge.

New in Hopper Disassembler 2.8.5 (Dec 17, 2013)

  • Fixed a crash

New in Hopper Disassembler 2.8.4 (Dec 11, 2013)

  • Fix an infinite loop in the analysis,
  • Fix an issue when loading a raw binary file,
  • Fix an issue with copy / paste of multiple lines,
  • Various fixes...

New in Hopper Disassembler 2.8.1 (Aug 21, 2013)

  • Entire rewrite of the Python part, resulting in a more stable application,
  • Added Python functions and classes (Procedure BasicBlock),
  • Warn the user if an action is about to delete a customized procedure,
  • Fix presentation issues in the debugger window (memory view),
  • Fix issues with the side bar not being refreshed when a label changes its name,
  • You can now define the working directory and arguments of the debugged program,
  • Many bug fixes and little enhancements

New in Hopper Disassembler 2.7.17 (Jul 10, 2013)

  • fix a random crash when opening the search window,
  • fix a crash when analyzing some invalid switch/case statements.

New in Hopper Disassembler 2.7.16 (Jul 3, 2013)

  • fix an issue with the decompiler where some variables was wrongly removed,
  • fix an issue while disassembling the "movsxd" instruction,
  • fix an issue with instructions which read bytes from memory with a displacement > 256,
  • fix an issue with label names in decompiler,
  • better recognition of switch/case,
  • unified search window.

New in Hopper Disassembler 2.7.15 (Jun 8, 2013)

  • Pseudo-code and CFG windows are no more modal,
  • Fix the EFLAGS control in GDB dialog,
  • Fix a regression that causes crashes while disassembling.

New in Hopper Disassembler 2.7.14 (May 30, 2013)

  • 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,
  • Fix some issue while parsing ELF32 files,
  • Fix some crashes in the decompiler,
  • Fix some memory leaks,
  • Fix some graphical issues with custom fonts,
  • Small various improvements.

New in Hopper Disassembler 2.7.13 (Apr 20, 2013)

  • added a tab with the strings of the disassembled file
  • add an option to remove the address column of the exported ASM

New in Hopper Disassembler 2.7.12 (Feb 27, 2013)

  • fix an issue while loading an archive created by the previous version of Hopper,
  • fix some issues while decompiling IF/THEN/ELSE statements,
  • more procedure prologs detected,
  • fix an issue with syntax coloration of escaped string.

New in Hopper Disassembler 2.7.11 (Feb 16, 2013)

  • Initial support for Unicode strings,
  • Shortcuts for Python scripts,
  • Fix some issues with conditional ARM jumps,
  • Fix loading of PE32+ executables,
  • Fix an issue while reading generic ARM binaries,
  • Fix some crashes while parsing some PE crippled binaries,
  • Fix reading of Objective-C 2.0 runtime informations of 32bits binaries,
  • Various ARM improvements,
  • Improve ARM decompiler,
  • Fix ELF loading,
  • Fix some various issues.

New in Hopper Disassembler 2.7.3 (Jan 9, 2013)

  • Fix an issue with ELF loading.
  • Various bugs fixed.

New in Hopper Disassembler 2.6.3 (Dec 8, 2012)

  • fix a crash on ARM disassembler,
  • fix some decompilation issues,
  • fix some issues when using Hopper on 32bits processor,
  • various small fixes.

New in Hopper Disassembler 2.6.0 (Oct 24, 2012)

  • ARM support,
  • iOS Mach-O support,
  • ELF support (32 and 64 bits),
  • add the list of symbols on the left of the ASM,
  • embedded ARM and x86 assembler, that permits modification of instructions,
  • very first version of ARM decompiler,
  • color themes (light and dark), and added almost all colors in the preferences,
  • add an option to disable fuzzy search,
  • add an option to show the '0x' prefix in ASM,
  • 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),
  • fix some problem drawing italic fonts,
  • fix a crash while loading some PE files,
  • fix an issue with the GDB version of Xcode 4.4 on Mountain Lion,
  • other small fixes.

New in Hopper Disassembler 2.2.0 (May 22, 2012)

  • huge improvement of the decompiler:now recognizes loops and simplifies expressions,
  • even faster loading time of huge binaries,
  • show a tooltip with code when the mouse is over an address,
  • better graph for CFG, with less edge crossing,
  • search in name list by pattern matching,
  • segment name list,
  • can now search text in the disassembly,
  • fix the XREFs of datas pointed by PIC register,
  • read entry points from dyld,
  • fix a crash on Snow Leopard when using GDB,
  • bring Python to Snow Leopard.

New in Hopper Disassembler 2.1.1 (Apr 28, 2012)

  • show the current offset from the nearest symbol in the status bar,
  • fix a possible issue with procedures creation,
  • fix a crash on some files that contains switch statements.

New in Hopper Disassembler 2.1.0 (Apr 19, 2012)

  • huge optimizations on both CPU usage and memory footprint,
  • Hopper now starts a background analysis as soon as a file is loaded,
  • added a navigation bar, which displays the layout of the analyzed binary file,
  • better decompilation of method calls through register,
  • better decompilation of IVAR access,
  • show selector in disassembly,
  • AT syntax as an option,
  • can hide basic blocks registers usage,
  • fix a graphical glitch on instruction with long parameters,
  • fix a crash with non ASCII file path in GDB backend,
  • many bugs fixed.

New in Hopper Disassembler 2.0.1 (Mar 6, 2012)

  • fix some issues with GDB,
  • fix a problem while loading non standard Mach-O file,
  • various bug fixes.

New in Hopper Disassembler 2.0.0 (Feb 29, 2012)

  • preliminary GDB backend,
  • bookmarks,
  • use GCD to speed-up loading and initial parsing,
  • font is now customizable in the main window,
  • better display of Objective-C instance variables and CFString/NSString in the decompiler,
  • decompiler results are better optimized,
  • better recognition of NSString and Objective-C messages sent to super,
  • prevent problems with UTF8 label names,
  • add basic blocks registers usage info,
  • bug fix.

New in Hopper Disassembler 1.6.3 (Jan 5, 2012)

  • patched EXE export,
  • added a bunch of useful Python scripts,
  • you can now stop a running Python script,
  • CFG zoom using multi-touch devices (trackpad)
  • better XREF and strings detection,
  • C++ name demangling,
  • bug fix

New in Hopper Disassembler 1.6.2 (Dec 22, 2011)

  • fix an issue while loading files containing a lot of symbols
  • fix the CFG window background colors

New in Hopper Disassembler 1.6.1 (Dec 16, 2011)

  • fix a crash under Snow Leopard (Lion was not affected),
  • faster loading time for big executables,
  • fix an issue with symbol names loading from Mach-O files,
  • add a zoom in the CFG window,
  • double-click on a CFG node brings the ASM view to the concerned address,
  • add shortcuts to handle comments, names and XREFS windows with keyboard,
  • better XREF computation on pointers,
  • customizable colors.

New in Hopper Disassembler 1.6.0 (Dec 14, 2011)

  • Python scripting engine,
  • Many bugs fixed.

New in Hopper Disassembler 1.5.2 (Nov 16, 2011)

  • Fix an formatting problem of arguments that uses PIC register,
  • Added a preferences window.

New in Hopper Disassembler 1.5.1 (Nov 10, 2011)

  • Fix an issue that could block the UI,
  • Add hex code of instructions,
  • Draw a different background for procedures.

New in Hopper Disassembler 1.5.0 (Nov 2, 2011)

  • PIC code detection,
  • switch/case detection,
  • Pseudo-code generation,
  • PDF export of the CFG,
  • Now, you can move CFG nodes using your mouse,
  • Faster loading time of executables,
  • Show offset in the disassembled file in the status bar,
  • Float argument formatting,
  • Lion fullscreen,
  • Many optimizations,
  • Many bug fixes...

New in Hopper Disassembler 1.1.1 (Jun 17, 2011)

  • Even better Objective-C disassembly.

New in Hopper Disassembler 1.1.0 (May 21, 2011)

  • Added ability to search for Hex or ASCII strings,
  • Automatically disassemble lots of usefull things for Objective-C executables,
  • Procedure export, without the needs to export the full executable,
  • Various optimizations.

New in Hopper Disassembler 1.0.2 (May 2, 2011)

  • Speedup the loading time of huge executables.

New in Hopper Disassembler 1.0.1 (Apr 15, 2011)

  • Fix an issue in flow chart graph: an arrow was missing in some cases,
  • Allow data pseudo-opcode to be properly formatted using hex/dec/octal,
  • Drag and drop executable files or bundled applications,
  • Optimization of the loading process,
  • Fix loading of UPX compressed files.