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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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.