Skip to content

Releases: skylot/jadx

1.5.2

02 Jun 19:18
v1.5.2
13e934c
Compare
Choose a tag to compare

Main features

Core:

  • Custom zip reader implementation to fight tampering
  • Add gradle export templates, support android app/lib and simple java
  • Initial support for DEX v41 (#2128)

GUI:

  • Add export dialog with options (PR #2378)
  • A tree structure usage search (PR #2498)
  • Add dynamic code editor theme from UI theme (PR #2471)
  • Add Preview Tab Feature (PR #2474)
  • New HexViewer (PR #2469)

Plugins:

  • Add APKM support (PR #2379)
  • Parse and use Kotlin SourceDebugExtension with SMAP for rename classes and packages (PR #2389)

API:

  • Add 'unload' method to JadxPlugin (#2463)
  • Method to add popup menu entry for tree nodes (#2412)
  • Add method to get jadx-gui icons by name
  • Add method to open usage dialog

All changes

Click to expand

Features

  • Replace constants in annotations of method arguments (PR #2358)
  • Add APKM support (PR #2379)
  • Parse and use Kotlin SourceDebugExtension with SMAP for rename classes and packages (PR #2389)
  • Custom zip reader implementation to fight tampering
  • Add gradle export templates, support android app/lib and simple java
  • Generate missing throws declarations, validate exceptions (#2441) (PR #2475)
  • Move variable name apply from codegen to new pass (#2422)
  • Use parallel jobs to delete files in directory (#2436)
  • [api] Add 'unload' method to JadxPlugin (#2463)
  • [dex-input] Initial support for DEX v41 (#2128)
  • [gradle] Handle non-final res ids for AGP >8.0.0 (PR #2362)
  • [gui] Add webp image preview support (PR #2372)
  • [gui] Add script rename feature (PR #2374)
  • [gui] Added confirm dialog when removing script (PR #2375)
  • [gui] Add export dialog with options (PR #2378)
  • [gui] Add button to install desktop file directly from jadx-gui (PR #2404)
  • [gui] Tabs UI improvements (PR #2419)
  • [gui] Support APK Signature Scheme v3.1 signers (PR #2452)
  • [gui] Add dynamic code editor theme from UI theme (PR #2471)
  • [gui] Allow to set code area theme with custom code (#2471)
  • [gui] Add Preview Tab Feature (PR #2474)
  • [gui] Add "Copy All" button to Search dialog (PR #2480)
  • [gui] New HexViewer (PR #2469)
  • [gui] Added support view and open more resource files (PR #2483)
  • [gui] Added feature to close all left tabs (#1390) (PR #2484)
  • [gui] Added dialog for select methods for generate frida class snippet (PR #2487)
  • [gui] A tree structure usage search (PR #2498)
  • [gui] Notify user if code has non-displayable character with current font (PR #2490)
  • [gui] Add option to disable the tooltip that pops up on hover (PR #2505)
  • [gui] Use list component for recent projects on start page (PR #2513)
  • [plugins] Add method to get jadx-gui icons by name
  • [plugins] Add method to open usage dialog
  • [plugins] New API method to add popup menu entry for tree nodes (#2412)
  • [res] Use file headers to detect extension for obfuscated resources (PR #2495)
  • [tools] Improve tool for sync and update I18N lines (PR #2494)
  • [zip] Provide direct InputStream of ZIP entries (PR #2509)

Bug Fixes

  • Disable usage of JDK Unsafe class in GSON (#2341)
  • Additional checks for default switch case exit (#2351)
  • Check respectBytecodeAccModifiers in MarkMethodsForInline (PR #2361)
  • Inner class parent is wrong when name formatted as Class$method$xxx (PR #2364)
  • Inline anonymous class wrongly handles field as Classname.this (PR #2367)
  • Remove wrapped flag for inlined instruction (#2363)
  • Better package-info support (PR #2369)
  • Force type var short form as a key in generic resolve mapping (#2370)
  • Resolve incorrect var ref validation and remove (#2381)
  • Allow to inline methods with ternary instructions (#2380)
  • Show all methods for 'simple' and 'fallback' decompilation modes
  • IfRegionMaker find the wrong outBlock (PR #2385)
  • Improve rename using source class name (#2397)
  • Use fork of directories library with JNI implemetation for Windows (#2401)
  • Do not replace constant fields which still used in code (#2414)
  • Unload attributes map if empty (#2433)
  • Do not reopen zip file on every resource decode
  • Improve BlockSet class, use it in more places
  • Deduplicate blocks to help 'complex if' restructure (#2445)
  • Scan annotations in usage collector visitor (#2435)
  • Ignore external and invalid class names in signature (#2459)(PR #2460)
  • Collect usage info in generic types
  • Check and report invalid magic in '.dex' files (#2473)
  • Process synthetic resource inner classes using common method (#2482)
  • For static synchronized methods remove top synchronized block (#2493)
  • Wrap MethodThrowsVisitor insns processing in try/catch (#2441)
  • Lazily create dirs in default file getter implementation
  • Use wrap layout for options in search dialog, add size limit option
  • Use resource table file name as prefix in sub files (#2373)
  • Add arsc file name prefix only in jadx-gui (#2373)
  • [cli] Concat new lines in plugin description
  • [gui] Resolve ignored mouse actions (#2360)
  • [gui] Text on popup action change if need update comment & fixes default size on comment diallog (PR #2376)
  • [gui] Improve detection of multi line method comments for update
  • [gui] Add missing sync in clean task at search dialog close (#2363)
  • [gui] Update Messages_zh_CN.properties (PR #2387)
  • [gui] Improve expand tree (speed up and duplicate entries removal) (#2399)
  • [gui] Workaround to force class decompilation in loading task (#2400)
  • [gui] Improve JNode caching (#2400)
  • [gui] New implementation for tree state save/load (#2399)
  • [gui] Set minimum size for comment dialog (#2405)
  • [gui] Skip window pos saving if not changed
  • [gui] Don't ask to save blank project
  • [gui] Save current caret position and add it to tab code jump event (#2409)
  • [gui] Correct class init method actions and highlight (#2412)
  • [gui] Minor action names and icons adjustments (#2419)
  • [gui] Allow file and directory have same name in tree (#2420)
  • [gui] Update Messages_de_DE.properties (PR #2410)
  • [gui] Improve accessibility of preferences dialog (#2445)
  • [gui] Apply log level as early as possible
  • [gui] Update zh_TW translation (PR #2448)
  • [gui] Flatten packages view: non-leaf packages with classes were not visible in the sources tree (PR #2450)
  • [gui] Xposed snippet argument types corrected (PR #2454) (#2458)
  • [gui] Properly handle excluded classes in code search (#2432)
  • [gui] Update Messages_zh_CN.properties (PR #2470)
  • [gui] Add missing annotations color for dynamic theme (#2471)
  • [gui] Improved preview tab behaviors (PR #2477)
  • [gui] Improve apk signature loading speed (PR #2481)
  • [gui] Restore tree state after renaming (PR #2486)
  • [gui] Update resource.arsc nodes after opened tab with resource ids (PR #2489)
  • [gui] Using actual tree in usage tree dialog (PR #2503)
  • [gui] Fix rename package behaviors (PR #2500)
  • [gui] Improve colors in usage tree, some UI fixes (PR #2506)
  • [gui] Minor improved search dialog & small refactor for search fields (PR #2510)
  • [gui] Validate hex address in GotoAddressDialog (PR #2512)
  • [gui] Validate extensions list in file dialog (PR #2515)
  • [gui] Lazy load hex viewer content
  • [gui] Redirect plugins menu action to show plugins settings page
  • [gui] Prevent UI thread freeze on plugin install/uninstall
  • [plugins] Use release from asset if differ from release name with GitHub resolver
  • [res] Allow jumping backwards to an already processed position (PR #2344)
  • [res] Handle null values in android manifest parsing (#2392)
  • [res] Ignore reserved value in type chunk (PR #2403)
  • [res] Chunk parsing was aborted too early for unordered entries (PR #2444)
  • [res] Improve resource table and config decoding (#2420)
  • [res] Fix decode xml attributes value (PR #2492)
  • [smali-input] Improve error report for smali assemble (#2411)
  • [xapk] New implementation to reduce zip unpack and fix NPE (#2501)

Full Changelog: v1.5.1...v1.5.2

New Contributors

Download files:

For system JRE the latest version is always preferred, download at oracle.com

1.5.1

11 Nov 22:53
c4c3d42
Compare
Choose a tag to compare

Main features

Core:

  • Support restore of switch over string
  • Adding automatic patching for semi-corrupted APKs (PR #2298)
  • Resource decoding support new fields

GUI:

  • Pin tabs (PR #2230)
  • Quick Tabs (PR #2241)
  • Limit search to a package (PR #2284)
  • Add button to go to Application class (#2208)(PR #2213)
  • Export resource/class/package (PR #2228)
  • Smali code folding (PR #2233)

All changes

Click to expand

Features

  • Move AAB support to separate plugin (PR #2165)

  • Allow to change config and cache dirs with env vars (#2159)

  • Support inner class contruction with outer instance (#2253)

  • Add the option to always use source file name as class name alias (PR #2287)

  • Support restore of switch over string (basic case)(#2288)

  • Adding automatic patching for semi-corrupted APKs (PR #2298)

  • Improve better name algorithm (PR #2299)

  • Allow to disable installed plugins (#2277)

  • Give ability to plugins to edit blocks before locking (PR #2336)

  • Add method to update all blocks related info in method (#2335)

  • [api] Add JadxArgs property to adjust xml security checks (#2291)

  • [api] Allow to get method code (#2305)

  • [cli] Add option to disable plugins (#2277)

  • [gui] Allow to check for unstable releases (PR #2200)

  • [gui] Add button to go to Application class (#2208)(PR #2213)

  • [gui] Export resource/class/package (PR #2228)

  • [gui] Pin tabs (PR #2230)

  • [gui] Smali code folding (PR #2233)

  • [gui] Quick Tabs Overhaul (PR #2241)

  • [gui] Limit search to a package (PR #2284)

  • [gui] Add button to go to Android Manifest (PR #2296)

  • [gui] Create Frida hooking snippet for all methods in the class (PR #2328)

  • [java-input] Support StackMapTable to get stack info for unvisited jumps (#2271)

  • [plugins] Get a main window reference as JFrame

  • [plugins] Get config and cache dirs for plugins

  • [plugins] Allow to set minimum required jadx version in plugin info (#2314)

  • [res] Improve error message for unsupported ResTable flags (PR #2266)

  • [res] Support 16-bit entry offsets (PR #2269)

  • [res] Support compact resource entries (#2268)

  • [res] Support grammar inflection flag in res config (#2270)

  • [res] Improve resource names (PR #2316)

Bug Fixes

  • Config dir was used instead cache dir

  • Improve exception handlers checks (#2086)

  • Make detailed var info deterministic (PR #2231)

  • Improve checking if methods are inline for FixAccessModifiers (PR #2235)

  • Don't rerun SSA transform in ConstructorVisitor (#2236)

  • Workaround to make method inline deterministic (#1089)

  • Improve inlining synthetic accessors (PR #2243)

  • Use correct approach to get prev block on path (#2239)

  • Handle quick return on branched constructor (#2240)

  • Improve switch out search in loop (#2246)

  • Improve checking of access modifiers for classes (PR #2251)

  • Improve checking of access modifiers for methods (PR #2252)

  • Improve try/catch temp edges injection (#2247)

  • Improve checking of access modifiers (PR #2255)

  • Improve 'continue' insertion for switch in loop (#2249)

  • Check if debug info offset is invalid (#1653)

  • Additional checks for class signature (#2272)

  • Do not add custom passes for fallback and simple modes (#2276)

  • Protect class deps from loading in different decompilation mode

  • Improve condition branch checks in loops (#2274)

  • Use type from new-instance if differ from constructor call (#2285)

  • Ignore debug lines hints if numbers was adjusted for method

  • Don't add same 'loaded from:' comment for inner classes

  • Improve switch out block search if all method exits are inside (#2264)

  • Improve checks for restore new filled array (#2289)

  • Use temp dir env var only in apps

  • Update reserved keywords (PR #2301)

  • Replace patched zip early in input files (#2302)

  • Add missing null check in codegen for classes generated by jadx

  • Clear temp root dir instead delete (#2312)

  • Fix default branch position in switch-over-string (PR #2331)

  • Prevent endless loop in pre header insertion mod (#2300)

  • Unwrap consts in switch-over-string (PR #2332)

  • Improve negation condition checks for switch over string (#2333)

  • Support "fall-through to default" case in switch-over-string (PR #2338)

  • Insert new filled array insn before first usage (#2340)

  • Fix primitive-to-primitive conversions (PR #2326)

  • [deobf] Update TLDs (PR#2320)

  • [gui] Show correct content of binary resources in hex view (#2160) (PR #2166)

  • [gui] Support filtering files with multiple extensions in file dialog (PR #2185)

  • [gui] Update Messages_zh_CN.properties (PR #2203, PR #2319)

  • [gui] Update russian translation (PR #2209)

  • [gui] Fix Xposed args code generation (PR #2212)

  • [gui] Horizontal scrolling in Linux (PR #2229)

  • [gui] Show folding actions in code popup menu (#2234)

  • [gui] Add VM flags to fix UI ghosting (#2225)

  • [gui] Trim trailing spaces in input files (#2244)

  • [gui] Trim also leading spaces in paths from file dialog (#2244)

  • [gui] Use correct translation in rename dialog (#2254)

  • [gui] Quick Tabs Optimization (PR #2242)

  • [gui] Merge full class name tokens for constructors (#2261)

  • [gui] Prevent UI stuck on class load (#2259)

  • [gui] Minor fixes for code jumps

  • [gui] Resolve old objects reference leak in TabsController

  • [gui] Prevent old refs leak in shortcuts controller

  • [gui] Send select tab event before code jump (#2292)

  • [gui] Update check fixed to match current artifact naming

  • [gui] Improve plugins preferences group

  • [gui] In settings row reduce space between description and value

  • [gui] Use another implementation for font dialog (#2310)

  • [gui] Load plugins settings in temp context without UI (#2206)

  • [gui] Use correct section filter in plugins list

  • [gui] Correct tabs filter in "Close others" tab action (#2330)

  • [launch4j] Do not overwrite Java heap configuration from applicationDefaultJvmArgs (PR #2218)

  • [mappings] Try to prevent mapping file reset on export exception, refactor and fix code to avoid NPE (#2220)(#2226)

  • [quark] Fix automated installation and check exit code of executed external commands (#2119)(PR #2216)

  • [res] Prevent duplication of ARSC entries (#2263)

  • [res] Don't rename resource entries when useRawResName = true (PR #2306)

  • [res] Update Android attrs to API 35 (PR #2318)

  • [smali-input] Compile one smali file at a time to avoid 64k limit (#2158)

  • [xml] Allow for non-standard attributes sizes and avoid index exceptions when decoding some strings (PR #2210)

  • [xml] AXML/Manifest parsing improvements (PR #2211)

New Contributors

Download files:

For system JRE the latest version is always preferred, download at oracle.com

1.5.0

20 Apr 18:47
f2ea641
Compare
Choose a tag to compare

Main features

  • Added support for:
    • Scripting, uses Kotlin, check short guide
    • External plugins, guide
      Both features in preview state, API is stable but limited (especially in UI customizations)
  • Jadx GUI:
    • Improved code cache, allow use common directory, view/delete exist caches in preferences
    • jadx-gui configuration moved into plain json files in system config directory
    • Allow to set custom shortcuts
    • Tabs drag and drop reorder support
    • Hex-viewer for binary asset files
    • Add 'go to main activity' action
  • Other:
    • Java 11+ is required now
    • Parse and use Kotlin metadata for renames
    • Add support for XApk files
    • Allow to move class to another package
    • Support jsr/ret opcodes (java-input)
  • A lot of bug fixes ... and regressions 🤣

Full Changelog: v1.4.7...v1.5.0

Download files:

For system JRE the latest version is always preferred, Java 11+ is required, download at oracle.com

1.4.7

20 Apr 15:45
fdf1705
Compare
Choose a tag to compare

Features

  • [core] Inline lambdas by instance field (#1800)
  • [plugins] Allow to load classes using input stream or byte array in jadx-input plugin (#1457)

Bug Fixes

  • [core] Restore missing type parameter declarations (#1800)
  • [core] Filter invalid chars in app name for gradle export (PR #1813)
  • [core] Correct args shift for instance invoke-custom (#1816)
  • [core] Additional checks to forbid inline of null consts (#1828)
  • [core] Use strict patterns for synthetic methods inline (#1829)
  • [res] Resolve manifest decoding error Expected strings start (#1797)(PR #1798)
  • [res] Handle RES_TABLE_TYPE_OVERLAY (#1748) (PR #1804)
  • [res] Parsing of sparse RES_TABLE_TYPE_TYPE and RES_TABLE_TYPE_STAGED_ALIAS chunks (#1806 #1803)(PR #1807)
  • [res] Resolve int hex attributes
  • [res] Resolve custom attributes
  • [res] Resolve declare-styleable atrributes
  • [res] Set empty parent for styles without a parent, remove duplicated code
  • [xml] Use parent attribute only for styles (PR #1815)
  • [gui] Search constant fields usage in all classes (#1801)
  • [gui] Redirect jump from search for inlined classes
  • [gui] Show skipped resources count during search (#1808)
  • [gui] Update Messages_zh_CN.properties (PR #1811)
  • [debugger] Process UI updates in correct thread (#1796)
  • [cli] Make enum CLI arguments match documented format (PR #1787)

Full Changelog: v1.4.6...v1.4.7

Download files:

For system JRE the latest version is always preferred, download at oracle.com

1.4.6

20 Feb 11:33
158fc2f
Compare
Choose a tag to compare

Features

  • [core] Support polymorphic invoke (#384)(#1777)
  • [gui] Add alternative file open dialog (#1709)
  • [gui] Add native libs info to summary (#1717)
  • [gui] Add Russian Translation (PR #1744)
  • [gui] Added keyboard shortcut ctrl+w to close tab (#1765)(PR #1766)

Bug Fixes

  • [core] Check full signature for search method override (#1743)
  • [core] Escape special characters in AAB resources (PR #1747)
  • [core] Allow altMetafactory method in lambda call site (#1760)
  • [core] Resolve JavaNode caching issues (#1775)
  • [core] Output unknown invoke-custom as polymorphic call (#1760)
  • [core] Process manifest before other resources (#1740)
  • [gui] Disable shell folders in file open dialog (#1709)
  • [gui] Correct html disabling in search results
  • [gui] Try to handle exception in RSTA.getPreferredSize() (#1712)
  • [gui] Show all code sources in summary (remove dex filter) (#1716)
  • [gui] Change callMethodName of constructors in Frida action (#1714)(PR #1715)
  • [gui] Add template for constructor and void methods to Frida snippet (#1714)
  • [gui] Hi-dpi main window initial size (#1728)(PR #1729)
  • [gui] Correct html render in comments search results
  • [gui] Resolve exception in smali method writer (#1739)(PR #1745)
  • [gui] Improve smali disasm method param write (#1739)
  • [gui] Make bytecode output closer to smali (#1739)
  • [gui] Quick fix for duplicate/overlapping logcat windows (#1752)(PR #1761)
  • [gui] Allow html in JVariable to render renaming of variables correctly (#1769)(PR #1770)
  • [gui] Print the renamed function name in a frida snippet log (#1772)(PR #1773)
  • [gui] Split tabs loading to prevent ui dead lock

New Contributors

Full Changelog: v1.4.5...v1.4.6

Download files:

For system JRE the latest version is always preferred, download at oracle.com

1.4.5

20 Oct 15:53
6844a46
Compare
Choose a tag to compare

Features

  • [gui] Option for search results count per page (#1652)
  • [debugger] Add logcat output (#1411)(PR #1666)

Bug Fixes

  • Don't rename bridged overridden methods (#1672)
  • Don't mark constructor for inline if anonymous class inline is disabled (#1680)
  • Handle possible concurrent exception in method codegen (#1685)
  • Correct fix for all use places of incompatible primitives (#1688)
  • Improve logging messages for zip security errors (#750)(PR #1698)
  • Improve ternary inline, resolve more enum cases (#1686)
  • Restore enum class with custom code in static init (#1699)
  • Handle empty block at end of else-if chain (#1674)
  • [res] Implemented parsing RES_TABLE_TYPE_LIBRARY chunks (#1663)(PR #1664)
  • [debugger] Migrate to fixed jdwp library fork (#1471)
  • [gui] Multi-threading issue in DebugController fixed (#1701) (PR #1702)
  • [gui] Disable HTML rendering in labels if not needed
  • [gui] Update Korean translation (PR #1650)
  • [gui] Update pt-BR translation (PR #1655)
  • [gui] Update zh-TW translation (PR #1694)
  • [gui] Update zh_CN translation (PR #1700)

Full Changelog: v1.4.4...v1.4.5

Download files description:

  • jadx-gui-1.4.5-with-jre-win.zip - jadx-gui with bundled JRE
  • jadx-gui-1.4.5-no-jre-win.exe - jadx-gui single exe (system JRE must be installed)
  • jadx-1.4.5.zip - cross-platform cli and gui bundle (system JRE must be installed)

For system JRE the latest version is always preferred, download at oracle.com

1.4.4

20 Aug 16:20
63a5713
Compare
Choose a tag to compare

Features

  • [gui] Add manual search, stop and sort actions to search dialog (#1600)
  • [gui] Save project search history
  • [gui] Show start page on jadx open
  • [gui] Add Brazilian Portuguese translation (PR #1596)
  • Select better resource name (#1581)
  • Add option to disable finally block extraction (#1592)

Bug Fixes

  • Resolve inherited method to use correct alias (#1582)
  • Check variables before merge in finally block (#1592)
  • Checks for field init reorder (#1599)
  • Handle empty endless loop (#1611)
  • Improve top block search for try/catch (#1633)
  • UnsupportedOperationException on adding a field (#1645)(PR #1646)
  • Don't inline anonymous in self inner class (#1645)
  • [gui] Improve search dialog performance
  • [gui] Improve resources search (#1648)
  • [gui] Improve log viewer dialog (#1311)(PR #1649)
  • [gui] Add constructors usage into class usage (#1591)
  • [gui] Sort resources by deobfuscated name (#1595)(PR #1598)
  • [gui] Correct Frida snippet for constructor (PR #1605)
  • [gui] Fix broken FileDialog by using legacy sort (#1628)(PR #1630)
  • [gui] Handle possible classes overlap in disk cache (#1633)
  • [gui] Disable actions if files not loaded (#1644)
  • [debugger] Resolve NPE in adb device viewer (#1585) (PR #1586)
  • [res] XML "null" decoding (#1583)(PR #1594)

Full Changelog: v1.4.3...v1.4.4

Download files description:

  • jadx-gui-1.4.4-with-jre-win.zip - jadx-gui with bundled JRE
  • jadx-gui-1.4.4-no-jre-win.exe - jadx-gui single exe (system JRE must be installed)
  • jadx-1.4.4.zip - cross-platform cli and gui bundle (system JRE must be installed)

For system JRE the latest version is always preferred, download at oracle.com

1.4.3

20 Jul 15:50
87e0e5b
Compare
Choose a tag to compare

Bug Fixes

  • [gui] Check user renames (#1557)
  • [gui] Allow to use empty name to reset rename
  • [gui] Ignore/limit waiting of canceled search task (#1568)
  • [gui] Forbid rename method args in fallback mode (#1558)
  • [gui] Set current dir directly in file chooser constructor (#1553)
  • [gui] IndexOutOfBoundsException in JumpManager (#1576) (PR #1577)
  • [gui] QuarkReport data validation added and other minor improvements (PR #1556)
  • [gui] Resolve payload offset for switch insns in debug smali code (#1575)
  • [gui] Ignore errors on code area dispose (#1545)
  • Check synthetic methods before remove/inline (#1560)
  • Correct inline/merge with overriden bridge method (#1580)
  • Add more checks before remove or rename enum methods (#1572)
  • Handle parent of inlined/moved classes (#1578)
  • Update deps and fix proto resource loading (AAB) (#1129)
  • Ignore anonymous classes in enclosing node search (#1580)
  • Save classes with code generation error into cache (#1568)
  • Resolve possible decompilation double execution
  • Better dominators algorithms

Full Changelog: v1.4.2...v1.4.3

Download files description:

  • jadx-gui-1.4.3-with-jre-win.zip - jadx-gui with bundled JRE
  • jadx-gui-1.4.3-no-jre-win.exe - jadx-gui single exe (system JRE must be installed)
  • jadx-1.4.3.zip - cross-platform cli and gui bundle (system JRE must be installed)

For system JRE the latest version is always preferred, download at oracle.com

1.4.2

20 Jun 14:38
18070eb
Compare
Choose a tag to compare

Yet another mostly bug fix release to resolve regressions from 1.4.1

Features

  • [gui] Support export to various deobfuscation mapping file formats (#1491)(PR #1505)
  • [gui] Add reload and live reload actions (#1537)
  • [gui] Allow to disable jump on double click (#1540)

Bug Fixes

  • [cli] Allow decoding resource-only APKs (#1517)(PR #1530)
  • [cli] Remove deprecated --deobf-rewrite-cfg (#1513)
  • [gui] Try to prevent jadx node leaks in UI objects
  • [gui] Improve restoration of windows saved state (PR #1511)
  • [gui] Add volatile and update sync for decompiler field in wrapper (#1518)
  • [gui] Resolve popup menu action run (#1514, #1529)
  • [gui] Correct set highlighted text in search (#1507)
  • [gui] Allow to select file on mapping export
  • [gui] Reset disk cache on new jadx version
  • [gui] Force jadx new version check by default
  • Improve blocks tree compare for finally extract (#1501)
  • Support all-catch in multi-catch (#1510)
  • Improve class search for super call (#1512)
  • Keep types on duplicate cast remove (#1527)
  • Check class name collisions (#1526)
  • Use wide move for long/double store/load java opcodes

Full Changelog: v1.4.1...v1.4.2

Download files description:

  • jadx-gui-1.4.2-with-jre-win.zip - jadx-gui with bundled JRE
  • jadx-gui-1.4.2-no-jre-win.exe - jadx-gui single exe (system JRE must be installed)
  • jadx-1.4.2.zip - cross-platform cli and gui bundle (system JRE must be installed)

For system JRE the latest version is always preferred, download at oracle.com

Artifacts on maven central repository: list. How to use jadx as a library, read on wiki page.

1.4.1

31 May 14:47
fcd58ae
Compare
Choose a tag to compare

Bug fix release to resolve regressions from 1.4.0

Bug Fixes

  • [gui] Correct handle of selected file in save dialog
  • [gui] Improve usage search, refactor java nodes creation (#1489)
  • [gui] Resolve cast exception for variable reference (#1489)
  • [gui] Save variable name to show in tooltip (#1487)
  • [gui] Save full type info in metadata (#1487)
  • [gui] Correct merge for plugin options from command line (#1490)
  • [gui] Complete Chinese Translation (PR #1492)
  • [gui] Correct close and reopen for decompiler and cache
  • [res] Ignore version in AndroidManifest.xml (#1502)(PR #1504)
  • Save cache dir for reuse on project save/reopen
  • Remap class names for store in disk cache (#1503)
  • Check if directory exists before delete (#1493)
  • Use variable length encoding instead short for offsets (can overflow) (#1489)
  • Skip dex files with parsing errors (#1495)

Features

  • [gui] Add parameters logging in Frida code snippet (#1497)(PR #1498)

Full Changelog: v1.4.0...v1.4.1

Download files description:

  • jadx-gui-1.4.1-with-jre-win.zip - jadx-gui with bundled JRE
  • jadx-gui-1.4.1-no-jre-win.exe - jadx-gui single exe (system JRE must be installed)
  • jadx-1.4.1.zip - cross-platform cli and gui bundle (system JRE must be installed)

For system JRE the latest version is always preferred, download at oracle.com

Artifacts on maven central repository: list. How to use jadx as a library, read on wiki page.