github skylot/jadx v1.5.1
1.5.1

2 days ago

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

Don't miss a new jadx release

NewReleases is sending notifications on new releases.