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 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
- @zt64 made their first contribution in #2161
- @qfalconer made their first contribution in #2210
- @pubiqq made their first contribution in #2231
- @andyjsmith made their first contribution in #2284
- @xiaojye made their first contribution in #2296
- @RuffaloLavoisier made their first contribution in #2328
Download files:
- jadx-gui-1.5.1-with-jre-win.zip - jadx-gui with bundled JRE
- jadx-gui-1.5.1-win.zip - jadx-gui Windows executable (system JRE must be installed)
- jadx-1.5.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