Version 5.17.2 (2024-10-01 14:36:08)
- Improves reading symbols of frameworks,
- Improves how switch hints are displayed in the ASM.
Version 5.17.1 (2024-08-30 18:57:13)
- Provides a way to specify a multiplier when defining switch hints.
- Adds the multiplier as a formatting option for address differences.
Version 5.17.0 (2024-08-27 17:47:17)
- Show unicode strings in the comments.
Version 5.16.2 (2024-08-12 18:16:42)
- Fixes a crash on macOS 15.1 beta 1,
- Adds a shortcut to copy the current address.
Version 5.16.1 (2024-08-06 12:30:52)
- Improves detection of strings,
- Improves detection of hardened runtime on attach.
Version 5.16.0 (2024-07-16 15:25:04)
- Improves the detection of hardened runtime,
- Fixes the patches not being applied before launching the debugger.
Version 5.15.6 (2024-05-24 15:31:24)
- Fixes a crash on Intel computers.
Version 5.15.4 (2024-05-16 17:09:26)
- Fixes an issue where Hopper would hang on some mangled files improperly extracted from the DYLD shared cache.
Version 5.15.3 (2024-04-09 15:48:13)
- Improves compatibility with the latest versions of Python.
Version 5.15.0 (2024-03-26 17:56:24)
- Improves compatibility with DYLD shared cache of macOS 14.4 and later.
Version 5.14.3 (2024-03-11 12:55:18)
- Allows modifications of BSS sections,
- Fixes a compatibility issue with the latest version of Python (3.12).
Version 5.14.2 (2024-02-21 10:56:25)
- Improves compatibility with macOS 14.4 beta 3 and 4 DYLD shared cache.
Version 5.14.1 (2024-02-19 18:08:18)
- Improves the export of Objective-C header,
- Fixes a few issues in the C type parser.
Version 5.14.0 (2024-01-16 11:41:47)
- 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.
Version 5.13.5 (2023-12-12 17:11:03)
- 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.
Version 5.13.4 (2023-11-08 11:55:11)
- Fixes a crash on startup on macOS 12 and earlier.
Version 5.13.3 (2023-11-07 17:41:07)
- 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).
Version 5.13.2 (2023-10-19 18:02:03)
- Fixes an issue in the propagation of no-return method.
Version 5.13.1 (2023-10-17 14:26:39)
- Improves BinDiff exports.
Version 5.13.0 (2023-10-10 17:33:57)
- 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.
Version 5.12.0 (2023-09-14 16:53:20)
- Fixes a few issues when debugging a GDB remote target.
Version 5.11.7 (2023-08-26 16:21:14)
- Drastically reduce the memory footprint on very large binaries during the analysis.
Version 5.11.6 (2023-08-04 19:17:47)
- Fixes the display of pseudo-string arguments for big endian CPU,
- Cleans up the code for license and update plan purchases.
Version 5.11.5 (2023-07-19 19:14:58)
- 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.
Version 5.11.4 (2023-07-10 16:49:01)
- 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.
Version 5.11.3 (2023-06-29 17:35:17)
- Improves M68k XREF computation,
- Fixes the Fedora package.
Version 5.11.2 (2023-06-29 10:43:53)
- Fixes a crash in the M68k CPU plugin.
Version 5.11.1 (2023-06-14 19:00:33)
- Adds Python method for bookmarks handling,
- Fixes the Python prompt for accepting unterminated commands,
- Refinements on 6502 and M68k CPU plugins.
Version 5.11.0 (2023-05-23 13:43:18)
- 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.
Version 5.10.0 (2023-05-05 11:26:13)
- 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.
Version 5.9.0 (2023-04-20 19:13:10)
- Fixes an issue when decompiling conditional ARM instructions using the LS condition,
- Improves the disassembly of ARM instructions using an imm12 encoded field.
Version 5.8.8 (2023-03-17 17:14:04)
- Improves Apple Silicon decompilation,
- Fixes an issue which prevented Hopper from decrypting some of the Intel system binaries on Apple Silicon.
Version 5.8.7 (2023-03-07 20:20:14)
- Improves switch / case detection,
- Improves no-return function detection,
- Fixes a crash when exporting BinDiff databases.
Version 5.8.6 (2023-02-03 18:24:21)
- 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.
Version 5.8.5 (2023-01-16 17:24:23)
- Improves the preferences window,
- Handles some third party mouses for navigating backward / forward using dedicated buttons.
Version 5.8.4 (2022-12-21 17:33:38)
- Provides a way to identify some Windows functions imported by ordinal.
Version 5.8.3 (2022-12-09 17:01:36)
- Fixes a crash when parsing Swift metadata on ciphered files.
Version 5.8.1 (2022-12-03 13:58:10)
- 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.
Version 5.8.0 (2022-11-18 17:57:17)
- 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.
Version 5.7.8 (2022-11-07 16:25:18)
- 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.
Version 5.7.7 (2022-09-09 17:12:49)
- Fixes loading older dyld caches.
Version 5.7.6 (2022-09-03 01:18:55)
- Fixes a crash while loading an Intel DYLD shared cache.
Version 5.7.5 (2022-09-02 21:30:03)
- Makes Hopper compatible with iOS 16 DYLD shared caches,
- Improves extraction of files from DYLD shared caches.
Version 5.7.4 (2022-07-29 16:17:02)
- 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.
Version 5.7.3 (2022-07-20 17:54:11)
- 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.
Version 5.7.2 (2022-07-19 10:33:21)
- Fixes a crash when disassembling some variants of the LD1 AArch64 instruction.
Version 5.7.1 (2022-07-18 17:23:55)
- Fixes missing operands for some vector AArch64 instructions,
- Fixes a few issues introduced by the Python 3 migration on functions like readBytes.
Version 5.7.0 (2022-07-08 16:54:15)
- Improves the decompilation of Objective-C programs extracted from the DYLD cache,
- Fixes the display of 32-bit operands formatted as a float.
Version 5.6.1 (2022-06-29 17:46:54)
- 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.
Version 5.6.0 (2022-05-31 12:51:35)
- 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).
Version 5.5.3 (2022-04-15 18:02:44)
- Improves loading of ARMv8 ELF binaries by handling more relocation types.
Version 5.5.2 (2022-03-24 23:36:08)
- Fixes a crash in the DYLD cache loader introduced in 5.5.1.
Version 5.5.1 (2022-03-24 21:48:04)
- Adds a tooltip when hovering a truncated name in the list of symbols,
- Improves the demangling of Swift symbols,
- Fixes an issue which would prevent some Objective-C protocols from being read from a DYLD shared cache,
- Improves keyboard navigation in the executable selection dialog.
Version 5.5.0 (2022-03-22 19:08:11)
- 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.
Version 5.4.0 (2022-03-03 18:00:52)
- 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.
Version 5.3.4 (2022-01-27 17:07:24)
- Speed improvement for the dataflow analysis,
- Fixes the tool for installing a license for multiple local account for people owing Computer Licenses.
Version 5.3.3 (2022-01-20 18:11:53)
Version 5.3.2 (2022-01-20 13:13:31)
- Fixes a crash in the debugger.
Version 5.3.1 (2022-01-06 20:06:14)
- 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.
Version 5.3.0 (2021-12-23 18:17:50)
- Updates Capstone to a more recent version,
- Fixes a crash when rebasing a MachO binary without chained fixups.
Version 5.2.0 (2021-12-04 18:29:35)
- Handles the new iOS15 / macOS 12 chained fixups pointers.
Version 5.1.4 (2021-11-26 18:47:22)
- Fixes an issue where argument analysis was not seeing some instructions.
Version 5.1.3 (2021-11-25 20:40:51)
- Improves detection of methods' argument, and the signature editor.
Version 5.1.2 (2021-11-23 14:43:52)
- 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.
Version 5.1.1 (2021-11-18 19:54:59)
- Updates Sparkle to version 1.27.1,
- Fixes a crash on malformed Mach-O files,
- Fixes multiple memory leaks.
Version 5.1.0 (2021-11-16 16:16:44)
- 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.
Version 5.0.0 (2021-10-28 18:49:44)
- Fixes a crash in the debugger when logging was enabled,
- Improves overral macOS Monterey compatibility,
- Improves detection of a newly added update plan.
Version 4.9.6 (2021-10-26 18:07:25)
- Fixes a deadlock which may happen when a document was closed.
Version 4.9.5 (2021-10-26 12:44:47)
- 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.
Version 4.9.4 (2021-10-22 16:51:37)
- 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.
Version 4.9.3 (2021-10-13 17:24:38)
- 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.
Version 4.9.2 (2021-09-21 17:26:40)
- 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.
Version 4.9.0 (2021-09-14 15:47:43)
- Fixes loading of the new dyld shared cache,
- Fixes issues with the Objective-C metadata of Apple Silicon binaries.
Version 4.8.2 (2021-08-06 23:09:32)
- 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.
Version 4.8.1 (2021-07-22 19:05:17)
- Automatic selection of the best Python interpreter.
Version 4.8.0 (2021-07-21 17:36:28)
- Initial support for the new DYLD shared cache of macOS Monterey,
- Switch to Python 3.
Version 4.7.7 (2021-06-09 17:58:39)
- 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.
Version 4.7.6 (2021-05-10 16:16:58)
- Fixes an infinite loop on some Windows executables,
- Fixes a rare crash when using Hopper inside a virtual machine.
Version 4.7.5 (2021-04-29 15:58:48)
- Fixes an issue with dSYM loader.
Version 4.7.4 (2021-04-14 23:02:30)
- 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.
Version 4.7.3 (2021-03-31 18:50:27)
- Improves loading time of big files.
Version 4.7.2 (2021-03-23 18:23:04)
- 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.
Version 4.7.1 (2021-01-23 15:51:43)
- Fixes an issue in the C++ demangler for some symbols,
- Uses theme preferences for the label list,
- Fixes horizontal scrolling issues.
Version 4.7.0 (2020-12-14 16:15:48)
- Fixes some ARMv8.1 instructions.
Version 4.6.3 (2020-12-01 17:10:33)
- Fixes a crash for some elements of the DYLD cache of iOS 14.
Version 4.6.2 (2020-11-12 14:45:10)
- Fixes the debugger which was unable to launch some old binaries.
Version 4.6.1 (2020-11-04 15:59:24)
- Fixes a crash in the decompiler when rewriting conditional expressions.
Version 4.6.0 (2020-11-03 16:15:07)
Warning: This version drops support for macOS 10.9 to 10.12.
The new minimum requirement is now macOS 10.13.
What's new:
- 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.
Version 4.5.29 (2020-06-19 14:13:13)
- 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.
Version 4.5.28 (2020-05-13 13:05:34)
- Fixes a hang in the decompiler on methods from classes containing weak ivars.
Version 4.5.26 (2020-05-04 11:12:54)
- Fixes a decompilation issue on ivar,
- Improves HiDPI support on Linux.
Version 4.5.25 (2020-04-30 10:52:31)
- Fixes a drawing issue on some systems,
- Fixes a mistake in the SDK.
Version 4.5.24 (2020-04-17 18:49:07)
- 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.
Version 4.5.23 (2020-04-06 18:52:22)
- Improves decompilation of ivar access of Objective-C programs,
- Fixes a few issues with controls alignment and dark mode.
Version 4.5.22 (2020-03-16 21:07:37)
- Fixes a crash when one modifies a structure referenced in the assembly,
- Fixes issues when searching hexadecimal values,
- Various dark mode issues.
Version 4.5.21 (2020-02-05 16:46:57)
- More ELF relocation fixes.
Version 4.5.20 (2020-02-04 17:02:09)
- Fixes issues with relocations when loading Linux kernel modules,
- Adds methods to create or remove segments from Python scripts.
Version 4.5.19 (2019-11-19 17:15:44)
- Adds a way to add new segments for representing memory mapped area.
Version 4.5.18 (2019-11-04 15:18:40)
- Fixes a loading issue of iOS 12+ binaries using threaded binding.
Version 4.5.17 (2019-10-25 23:41:07)
- 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.
Version 4.5.16 (2019-09-18 13:45:00)
- 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.
…