Skylot
03009b5159
chore: update dependencies
2026-06-17 22:32:00 +01:00
Skylot
d25eda4839
feat: new module/library for work with call graphs ( #2890 )
2026-06-17 22:32:00 +01:00
Skylot
59003bdb1f
refactor: use MethodInfo for unresolved methods usage, improve related code
2026-06-17 22:31:57 +01:00
Ananya
9d4babcdce
fix: keep all dimensions for anewarray of an array element type (PR #2887 )
2026-06-14 20:50:06 +00:00
Skylot
8c28a8530e
fix(gui): improve dot graph viewer, CFG generation simplified
2026-06-02 22:00:16 +01:00
Skylot
c3f7027bdd
fix: resolve duplicated error attr in fallback codegen, allow to set whole attr list at once ( #2842 )
2026-05-11 17:09:23 +01:00
Skylot
2fe95da570
fix: workaround for duplicated variables names index increment ( #2868 )
2026-05-09 20:51:02 +01:00
ewt45
21aa90c5d1
fix: cover more situations for SwitchOverString (PR #2860 )
2026-04-27 18:36:06 +00:00
Skylot
55e79fb70f
fix(res): use safe number parsing for android manifest, refactor params object ( #2857 )
2026-04-25 20:06:02 +01:00
Skylot
97fa8ff210
fix: build correct file path for class from default package ( #2854 )
2026-04-20 19:32:57 +01:00
Skylot
27c283fb11
fix: limit 'if' region out block to current scope ( #2791 )
2026-04-19 21:32:58 +01:00
Skylot
bd1c3fffde
fix: improve handler path check for regions
2026-04-19 20:32:14 +01:00
Skylot
169ad2901f
feat: add partial region visitor with result return
2026-04-14 20:59:02 +01:00
Skylot
869422b424
refactor: replace recursion with loop for region traversal
2026-04-14 20:57:41 +01:00
Ruffalo Lavoisier
ccc4164d54
fix: harden XML parser in FileTypeDetector against XML bomb DoS (PR #2851 )
2026-04-14 18:15:34 +00:00
Skylot
3119e8c893
fix: disable ternary mod for duplicated blocks ( #2844 )
2026-04-10 21:56:11 +01:00
Skylot
f95c5e8f39
fix: limit ternary wrap to one level ( #2844 )
2026-04-09 20:50:40 +01:00
Skylot
1e908f7af3
refactor: add ErrorProne and NullAway checks, fix some issues
2026-04-06 21:13:08 +01:00
Skylot
7d689a85ea
fix: remove result in wrapped insntructions ( #2835 )
2026-04-02 22:29:30 +01:00
Skylot
c7a162d827
fix: resolve minor decompilation issues ( #2835 )
2026-04-02 21:22:35 +01:00
Skylot
325b3ac991
fix: use correct args copy/replace in wrapped insns ( #2835 )
2026-04-01 20:19:56 +01:00
Skylot
9a8a11619b
chore: fix build warnings in java doc comments
2026-04-01 20:18:06 +01:00
John
b3d86ae908
fix: resolve class/package name conflicts on case-insensitive filesystems (PR #2828 )
...
* Fix: resolve class/package name conflicts on case-insensitive filesystems
**RenameVisitor**
- Added package-level conflict detection for case-insensitive filesystems:
when two packages differ only by case (e.g. com.Example vs com.example),
rename the conflicting one and loop until the new name is also unique
- Added class-level conflict detection (same pattern): when two classes in
the same package differ only by case (e.g. Sink vs sink), rename the
conflicting one to prevent file overwrite on Windows export
**Tests**
- Added TestCaseSensitivePkgChecks: verifies package rename when packages
differ only by case; fixed smali data (2.smali changed Bar→Foo to create
a genuine path conflict under case-insensitive FS)
- Added TestCaseSensitiveClassInPkgChecks + smali fixtures: verifies class
rename when two classes in a named package differ only by case
(com.example.User vs com.example.user)
* Apply suggestions from code review
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
---------
Co-authored-by: john <johnwsa@qq.com >
Co-authored-by: skylot <118523+skylot@users.noreply.github.com >
2026-03-23 20:42:25 +00:00
Skylot
462e582bb8
chore: update gradle and dependencies
2026-03-22 21:15:36 +00:00
Skylot
14a7b63707
chore: apply common code style
2026-03-22 20:48:27 +00:00
Skylot
4051a50146
fix: stop type inference on exception (prevent endless loop)
2026-03-22 19:41:26 +00:00
Skylot
b3db337abd
feat: use queue instead of recursion for type updates
2026-03-22 19:10:42 +00:00
Skylot
165ae24722
fix: support enum restore for constructor without args ( #2821 )
2026-03-16 22:25:26 +00:00
Skylot
ff64da705c
fix: remove useless PHI for duplicate moves ( #2813 )
2026-03-13 19:11:16 +00:00
Ananya Sharma
f2f145019d
fix: handle Kotlin 1.9+ $ENTRIES pattern in enum restoration (PR #2814 )
...
* fix: handle Kotlin 1.9+ $ENTRIES pattern in enum restoration
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* keep $ENTRIES field, it still used in getEntries() method
---------
Co-authored-by: clawdbot-silly-waddle <clawdbot-silly-waddle@users.noreply.github.com >
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com >
2026-03-07 19:37:12 +00:00
Jan S.
ff778ab372
fix(gui): use UI thread for adding logcat messages ( #2811 )
...
* fix(gui): use UI thread for adding logcat messages
other minor/logging improvements for debugger and adb connection
* checkstyle
2026-03-04 20:06:30 +00:00
Skylot
a1aa6d7ecd
fix: insert generic casts for variable assigned from fields with known types ( #2776 )
2026-02-17 20:55:23 +00:00
gordon-f0
be8b96280e
feat: graph views, code pane sync, and more (PR #2784 )
...
* snapshot 219
* revert non-working string searcher
* fix(gui): fix illegal ':' character in path when exporting resources.arsc/res
* fix(gui): use resource short name when exporting a folder via context menu
* fix(gui): use new resource class for files in arsc (#2771 )
* fix(gui): limit tabs title length, fix tooltips (#2771 )
* resolve issues with script code area after merge
---------
Co-authored-by: Jan S. <jpstotz@users.noreply.github.com >
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com >
2026-02-13 19:02:36 +00:00
Skylot
2a2806ebd7
feat(plugins): allow to use .zip as plugin artifact (with jars inside)
2026-02-12 19:38:34 +00:00
Skylot
c7a0f7a092
feat: make jadx-script-kotlin plugin external
2026-02-12 19:38:33 +00:00
Jan S.
9710ebe09a
fix(res): back to the old correct resource ID calculation (PR #2788 )
...
fix: back to the old correct resourceID calculation
2026-02-12 17:27:53 +00:00
Jan S.
f0da486703
fix(gui): go to main activity and application class when class name was renamed by deobfuscator (PR #2779 )
...
fix(gui): go to main activity and application class when class name was renamed by deobfuscator
2026-02-08 18:21:50 +00:00
Jan S.
925503ba04
fix(res): prevent problems arising by parsing duplicate resource entries from resources.arsc ( #2775 )(PR #2777 )
...
* fix(core): prevent resource name collisions by reading the same resource multiple times
* fix(core): prevent resource names getting longer by every rename operation
* initialize HashSet size properly
* formatting
2026-02-07 17:54:50 +00:00
Skylot
4e82233cbc
fix(java-input): fix dup2_x1 stack to regs conversion for wide types ( #2755 )
2026-01-26 20:13:38 +00:00
Skylot
ad267e1618
fix: improve switch over string restore ( #2359 )
2026-01-21 20:07:58 +00:00
ewt45
54265e34e5
fix: avoid more false positive throws (PR #2752 )
...
Update MethodThrowsVisitor.java
2026-01-21 18:43:00 +00:00
ewt45
220a2198a1
fix: add more checks to better find handler's end (PR #2749 )
2026-01-19 17:39:03 +00:00
Skylot
b725dd18b6
fix: terminate type inference on first stack overflow ( #2744 )
2026-01-18 17:53:07 +00:00
Skylot
ae1a5e9277
fix: improve codegen methods for custom decompilation mode
2026-01-12 19:47:52 +00:00
Skylot
018c20187d
fix: keep wide upcast for arith instructions ( #2730 )
2026-01-12 18:40:01 +00:00
Skylot
add11dff1d
fix: add missing level info for jadx code comments ( #2737 )
2026-01-11 18:44:05 +00:00
Jan S.
005a59668c
fix(res): as workaround use INVALID_STRING_PLACEHOLDER when string offset is is negative ( #2729 )(PR #2739 )
...
core: as workaround use INVALID_STRING_PLACEHOLDER when string offset is negative
2026-01-07 16:22:18 +00:00
Skylot
02ea3be8f2
fix(plugins): improve errors handling and reporting ( #2597 )
2025-12-22 21:53:54 +00:00
Skylot
3e709d6693
feat(cli): implement config file load and save ( #1731 )
2025-12-15 21:07:10 +00:00
Skylot
2829e284f3
fix: prevent endless loop in region maker on dead code with loops ( #2715 )
2025-12-04 20:45:02 +00:00