NextStack

jadx v1.5.1

patch PublishedNov 11, 2024 Sourceskylot/jadx

jadx v1.5.1

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


Source skylot/jadx · v1.5.1 · 2024-11-11 · upstream release

Mirrored verbatim for indexing. All rights belong to the upstream project.

Release notes are published by the upstream project and mirrored here for indexing. All rights belong to their authors.