Skip to content

1.5.2

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 02 Jun 19:18
Β· 30 commits to master since this release
v1.5.2
13e934c

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