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. 4.5.15 (2019-09-05 12:03:03) 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. 4.5.14 (2019-08-13 17:22:09) Adds support for Intel HEX file format, Fixes a graphical issue on files with a segment beginning at address 0. 4.5.13 (2019-07-08 15:04:21) 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. 4.5.12 (2019-06-21 15:20:41) 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. 4.5.11 (2019-05-06 14:58:44) Fixes an issue in the search feature where results in segments with no sections were not found. 4.5.10 (2019-04-26 18:29:50) Improves Swift 5 name demangling, Now you can use Swift 5 in order to write Hopper plugins. 4.5.9 (2019-04-03 17:04:45) Fixes an issue which prevented some cross references to be properly computed on iOS 12, Fixes a deadlock on some binaries. 4.5.8 (2019-03-29 17:58:05) Fixes AArch64 32bits disassembler (the CPU variant used in the Apple Watch). 4.5.7 (2019-03-01 17:10:24) Fixes a huge slowdown on some big binaries, Tweaks the switch hint dialog for ARM. 4.5.6 (2019-02-14 20:48:06) Fixes some optimisation issues in ARM64 decompiler. Fixes more issues with PDB symbols. 4.5.5 (2019-02-01 18:10:43) Fixes loading of some PDB files, Fixes a performance issue when drawing text containing a breakpoint. 4.5.4 (2019-01-23 19:12:16) 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. 4.5.3 (2019-01-12 13:52:40) Fixes various issues with dark mode on Mojave. 4.5.2 (2018-12-27 13:19:52) Fixes a crash in the Windows PE loader. 4.5.1 (2018-12-13 13:15:12) Fixes an issue which prevents newly registered customers to upgrade to the full version. 4.5.0 (2018-12-12 13:58:00) 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. 4.4.9 (2018-12-03 15:25:27) Fixes a compatibility issue with Cylance, Fixes an issue where custom debug servers were not properly saved, Improve C preprocessor parsing. 4.4.8 (2018-11-21 15:07:41) 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. 4.4.7 (2018-11-13 21:09:39) Fixes an issue on some systems with empty windows. 4.4.5 (2018-11-05 16:59:36) 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. 4.4.4 (2018-10-10 14:37:28) Fixes a crash on disassembling files written in Go, Fixes the debugger for 32bits executables. 4.4.3 (2018-10-09 17:42:34) 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. 4.4.2 (2018-10-04 19:41:07) Fixes drawing issues introduced in 4.4.0. 4.4.1 (2018-10-03 19:28:51) Implements most of the ARMv8.1, ARMv8.2 and ARMv8.3 extensions. 4.4.0 (2018-09-28 23:28:17) 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). 4.3.31 (2018-09-14 16:51:03) 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. 4.3.30 (2018-09-01 16:57:29) 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. 4.3.29 (2018-08-25 11:28:09) Fixes an issue where main screen would be impossible to read in some circumstances. 4.3.28 (2018-08-13 17:42:43) 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. 4.3.27 (2018-08-08 17:15:41) 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. 4.3.26 (2018-07-13 15:02:01) 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. 4.3.25 (2018-06-27 20:10:44) 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. 4.3.24 (2018-05-24 17:06:08) Fixes the module search path for Python scripts, Faster access to labels list in Python scripts. 4.3.22 (2018-05-16 19:03:48) Fixes an issue where some Python scripts were stopped when Hopper was running in background, Fixes a typo in decompiled Objective-C methods signatures. 4.3.21 (2018-05-09 19:59:46) Fixes a crash in the decompiler, Better automatic ARM / Thumb handling. 4.3.20 (2018-04-25 16:22:16) 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. 4.3.19 (2018-04-20 13:11:14) 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, 4.3.18 (2018-03-29 11:13:06) Fixes a issue when displaying arrays on a single line, Fixes missing types in the SDK 4.3.17 (2018-03-27 15:23:29) 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. 4.3.16 (2018-02-16 18:53:05) 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. 4.3.15 (2018-02-11 11:29:40) Fixes a compatibility issue with macOS before 10.12. 4.3.14 (2018-02-09 19:26:01) Fixes a crash when moving in a large decompiled function. 4.3.13 (2018-02-09 18:06:52) Improve analysis of ARM64 binaries, Improve decompilation of ARM64 binaries, Handle some new switch / case construction for ARM64, Better handling of ADRP/ADD and ADRP/LDR instruction couples, Fixes some issues in the AAPCS implementation, Add an option for searching an integer across the file, Add the ability to use label names in the assembler. 4.3.12 (2018-01-12 16:49:53) 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. 4.3.11 (2017-12-28 18:35:40) 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. 4.3.10 (2017-12-16 10:28:17) Fixes the command line tool. 4.3.9 (2017-12-16 00:54:32) Fixed a missing case in the corrupted database issue handling. 4.3.8 (2017-12-15 23:16:57) 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. 4.3.7 (2017-11-29 16:12:30) 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. 4.3.6 (2017-11-03 12:03:39) Fixes an excessive CPU usage when the window was split with at least one pseudo-code view. 4.3.5 (2017-11-02 12:23:54) 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. 4.3.4 (2017-10-24 18:08:44) 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. 4.3.3 (2017-10-23 12:23:30) Fixes decoding operands of MSR/MRS instructions, Safer way to save files. 4.3.2 (2017-10-21 18:00:51) Fixes a potential issue with the new preferences system. 4.3.1 (2017-10-21 10:30:01) Fixes an issue with the hex mode on macOS 10.9 4.3.0 (2017-10-20 16:26:43) 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. 4.2.21 (2017-09-28 18:38:03) Properly handle the BND prefix. 4.2.20 (2017-09-26 19:21:10) 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. 4.2.19 (2017-09-22 19:56:28) Better handling of MRC/MCR instructions, Better decoding os STOS/LODS/INS/OUTS instructions with prefixes, Fixes an issue with relocation on ELF files. 4.2.18 (2017-09-16 16:10:44) 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. 4.2.17 (2017-09-10 09:07:17) Fixes an issue which causes the lost of formatting for some operands 4.2.16 (2017-09-08 18:20:27) Fixes an issue when disassembling some NEON instructions, New argument formatting option for addresses relative to another address, Fixes an incompatibility with Mavericks. 4.2.15 (2017-09-01 19:06:08) 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. 4.2.14 (2017-08-18 23:22:16) Fixes an issue preventing loading some HOP files 4.2.13 (2017-08-17 10:29:43) Fixes Mavericks compatibility 4.2.12 (2017-08-11 17:36:10) Optimization of the navigation bar drawing, Better handling of external symbols in DYLD shared cache. 4.2.11 (2017-08-05 14:17:03) Complete rewrite of the DYLD shared cache loader, Fixes an issue in the debugger when debugging a dylib. 4.2.10 (2017-07-24 18:45:07) Improves information in mach-o headers, Adds a new switch hint mode, Fixes a deadlock in the debugger. 4.2.9 (2017-07-11 01:46:10) 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. 4.2.8 (2017-07-07 18:59:14) 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. 4.2.7 (2017-07-05 17:19:41) 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. 4.2.6 (2017-06-29 00:49:38) Fixes double-click on objects in CFG mode, Changes to the HEX mode behaviour. 4.2.5 (2017-06-27 20:25:25) 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. 4.2.3 (2017-06-16 17:46:24) Fixes decoding of some STP/LDP AArch64 instructions, Fixes some improperly displayed variables, Slightly faster loading and saving 4.2.2 (2017-05-30 15:46:55) 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. 4.2.1 (2017-05-26 08:13:09) Fixes a crash after a method signature has been edited. 4.2.0 (2017-05-24 19:11:43) 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 4.1.5 (2017-04-29 11:44:59) Fixes an issue with pointers in the decompiler. 4.1.4 (2017-04-26 17:15:29) Fixes decompilation of SETcc instructions, Visual Studio PDB symbols support, Get more information on plugins compliance to the SDK, Lower memory footprint (around -20%). 4.1.3 (2017-04-18 23:53:52) Fixes multiple issues in the ARM Neon disassembler 4.1.1 (2017-04-11 15:33:12) 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. 4.1.0 (2017-04-07 17:25:47) Fixes issues with some AArch64 instructions, Improves PE executable parsing, Visual C++ symbol demangling. Handles some switch / cases constructions which use indirect tables. 4.0.35 (2017-03-17 11:17:05) Fixes a deadlock in the debugger command panel on interactive command, Better handling of some TBB/TBH constructions, Fixes a scrolling issue. 4.0.34 (2017-03-15 11:29:32) Fixes a crash on some iOS binaries, Fixes missing information on some ARMv8 vector instructions. 4.0.33 (2017-03-14 12:40:12) 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. 4.0.32 (2017-03-09 22:19:02) Fixes decoding os ARMv8 SIMD instructions, Fixes a layout issue in the inspector panel. 4.0.31 (2017-02-28 15:06:14) Fixes some issues in the debugger (bad register values), Better handling of Objective-C method signatures, Fixes some aesthetic glitches. 4.0.30 (2017-02-14 16:44:38) Fixes disassembly of some ARM64 instructions (csel,fcsel ...), Improves ARM64 decompilation of Objective-C code, Fixes highlighting when scrolling the document. 4.0.29 (2017-02-04 10:28:29) Fixes some issues in the PPC CPU plugin. 4.0.28 (2017-02-03 18:26:18) 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. 4.0.27 (2017-02-02 21:02:37) 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. 4.0.26 (2017-01-31 14:39:22) 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. 4.0.25 (2017-01-26 19:31:14) Fixes an issue with decoding of some ARMv8 instructions containing large immediate value, Mach-O headers were not commented anymore. 4.0.24 (2017-01-19 16:23:15) Fixes an issue while updating the application on Sierra. 4.0.23 (2017-01-18 20:13:21) 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. 4.0.22 (2017-01-17 20:27:59) Fixes multiple issues during the ARM64 analysis, Fixes ADR instruction decoding on ARMv7, Fixes some issues when selecting text, Smoother scrolling. 4.0.21 (2017-01-13 12:32:29) Faster overall analysis, Fixes an analysis issue in the ARMv7 disassembler, Fixes dyld iOS shared cache loading, Improves 10.9 compatibility. 4.0.20 (2017-01-07 14:32:41) Fixes a crash on ARMv7 4.0.19 (2017-01-06 22:04:40) Fixes handling of IT instructions on ARM Thumb, Better decompilation of Objective-C instance variable access, Faster decompiler. 4.0.18 (2016-12-28 20:01:07) 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. 4.0.17 (2016-12-22 19:18:10) 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. 4.0.16 (2016-12-15 19:07:17) Allows to remotely debug Windows applications with gdbserver. 4.0.15 (2016-12-13 18:35:24) Fixes a crash in the new Swift demangler. 4.0.13 (2016-12-11 01:28:00) Fixes a crash when switching to the Hex mode in some situations, After loading a new file, moves the cursor to the first segment if no entry point was found. 4.0.12 (2016-12-10 13:57:22) Fixes a crash. 4.0.11 (2016-12-09 12:52:51) Adds more Swift demangling (especially class names), Adds an option to display the addresses, and the hex column in the CFG mode. Moves the control to change ASM syntax directly from the preferences to the inspector, Adds methods to the SDK, and the Python API to access local labels, and procedures call graph, Fixes an issue with the panel management controls when the window was resized with some panel hidden. 4.0.10 (2016-12-05 16:16:59) Fixes an issue after loading a RAW binary with a non-null file offset, Fixes an issue where the inspector formatting capability was not available on some instructions, Improves the PLT analysis of ARM binaries, Some fixes to the SDK sample CPU plugin. 4.0.9 (2016-11-30 19:26:35) Fixes the behaviour of the inspector, and the contextual menu where structures are defined, Fixes the formatting of structure fields, Fixes a crash of the decompiler, Adds a better syntax colorization to the pseudo-code mode, Allows one to navigate between Objective-C method implementations of a given selector, Adds small optimizations to the decompiler by removing useless "goto" statements, Adds two themes: solarized light, and solarized dark. 4.0.8 (2016-11-29 14:38:48) Fixes the undo / redo feature, Fixes issues with AT&T syntax, Fixes the behavior of the search feature when searching for text in assembly, Adds a way to hide implicit segment registers 4.0.7 (2016-11-25 18:15:43) Fixes MSR / MRS instructions on ARM v7 4.0.6 (2016-11-23 18:01:40) Fixes a crash while demangling some C++ symbols, Fixes a weird bug which displayed "lock ret" instead of "ret" on Intel CPU, Fixes an issue with autoscroll, Remove the extra dollar sign before labels in AT&T syntax 4.0.5 (2016-11-18 22:37:55) Fixes an issue with missing font in assembly view 4.0.4 (2016-11-18 17:10:59) Fixes long time loading UPX compressed files 4.0.3 (2016-11-18 14:16:25) Fixes some crashs on malformed PE, ELF and MachO files, Fixes MSR and MRS instructions disassembly (AArch64), Fixes text copy in the pseudo-code mode, Updates the pseudo-code when the method signature is changed. 4.0.2 (2016-11-17 17:35:43) Fixes an issue with macOS 10.12.1 build 16B2555 4.0.1 (2016-11-17 15:29:48) Fixes some crashes 4.0.0 (2016-11-17 12:04:29) Welcome to Hopper v4! Hopper v4 is a free upgrade for the customers of Hopper v3. This update is packed with tons of new features, including: - Display modes, - Interactive control flow graph, - Swift demangler, - Enumarated types, - A lot faster on many tasks, - Local labels, - Register renaming, - Smart contextual menu, More on information at https://www.hopperapp.com/blog/?p=171