Commit Graph

1530 Commits

Author SHA1 Message Date
Skylot
6433fcef72
chore: update gradle and dependencies 2023-10-07 18:08:44 +01:00
Jan S
d120556772
fix(res): add resource entry offset check (PR #2024) 2023-10-06 17:25:36 +00:00
Skylot
89acf73010
feat(plugins): cache available plugin list 2023-09-27 19:44:53 +01:00
Skylot
b73f2ef0b9
fix(res): place xml attributes on new line (#2012) 2023-09-24 20:40:33 +01:00
Skylot
762c2d70bd
chore: fix typos 2023-09-24 18:53:39 +01:00
Skylot
4e81bdd76f
chore: update dependencies 2023-09-22 20:32:40 +01:00
Skylot
4d87b447a6
chore: remove unused code in ClsSet class (#2020) 2023-09-22 20:31:56 +01:00
Skylot
c39a696977
feat(script): add methods for apply renames and reload tabs (#2008) 2023-09-15 21:50:47 +01:00
Skylot
24657f6b3c
fix(plugins): add a better way to init plugins options 2023-09-11 21:50:48 +01:00
Skylot
e358476c71
fix: attempt to improve package rename checks (#1997) 2023-09-09 20:16:57 +01:00
Skylot
45a637f33b
feat: allow to disable zip security checks (#1579, #980) 2023-09-09 16:10:59 +01:00
Skylot
95c07a4e76
fix: synchronize attributes map writes (#2001) 2023-09-07 16:59:20 +01:00
Jan S
1f463c7152
fix: exclude ZIP entries of less than 25MB uncompressed size from ZIP bomb check (#1570)(PR #1998) 2023-09-02 17:58:09 +01:00
Skylot
f83ee45ac8
chore: update gradle and dependencies 2023-08-31 21:31:56 +01:00
Skylot
f81a2c4ebb
chore: update dependencies 2023-08-11 17:36:14 +01:00
Skylot
c602b3d967
feat: add support for 'package-info' (#1967) 2023-08-07 18:46:49 +01:00
Skylot
f213082da5
feat(gui): load available plugins from jadx-plugins-list 2023-08-05 22:41:51 +01:00
Mino
95db98e574
fix: resolve exception when androidmanifest.xml is not found (PR #1978) 2023-07-31 22:27:52 +01:00
Mino
63fc7e05b6
refactor: reuse the same parser in main activity action and gradle export feature (PR #1971)
* internal: reuse the same parser in Main Activity action and export gradle project

* removed unnecessary logs

* fixed code formatting issues

* removed no longer used methods

* optimize imports

* fix exception when app name isn't found

* use EnumSet instead of int for parse flags

* moved ApplicationParams class under android utils package

* moved attributes parsing to a seperate method

* fallback to any strings.xml if default one is not found
2023-07-31 18:50:47 +01:00
Jan S
2c2bb64c09
fix(tests): ResXmlGenTest fails on Windows (PR #1972)
* fix(core): fix ResXmlGenTest fails on Windows
* code style
2023-07-31 17:51:59 +01:00
Skylot
8d5130a329
chore: update gradle and dependencies 2023-07-26 21:03:54 +01:00
Skylot
09a5e0893b
fix: handle classes 'super' loop (#1942) 2023-07-24 21:59:27 +01:00
Skylot
5b7ebec7e3
feat(gui): add option to set cache location, view/delete exists caches (#1941) 2023-07-17 00:49:40 +03:00
nitram84
ce9645864d
fix(res): support formatted=false for strings (PR #1947) 2023-07-09 20:05:29 +01:00
Skylot
d076c4e73d
build: migrate to kotlin dsl in gradle scripts, update gradle and deps 2023-07-08 20:13:37 +01:00
Skylot
ba0e918fef
chore: update dependencies 2023-07-05 20:20:01 +01:00
Skylot
9b75a4f199
fix: update raung to fix stack frame issue (#1932) 2023-07-05 19:43:24 +01:00
Skylot
2d65594383
fix: additional checks for class alias string (#1937) 2023-07-04 21:25:38 +03:00
nitram84
36f439a82b
fix(res): resolve all custom attributes (PR #1933) 2023-07-04 19:21:32 +01:00
nitram84
c0c35f32a8
fix(gradle): avoid BuildConfig conflict (#1847) (PR #1931) 2023-07-01 16:41:57 +01:00
Midori Kochiya
14265a7b70
fix(res): parse strings only when they are referenced (#1926)(PR #1928)
* Parse strings only when they are referenced

* Fix style
2023-06-28 21:29:46 +01:00
nitram84
4467f9118f
fix: update class set to Android 34, add apache http client support for api level 28+ (PR #1927)
* fix(cli): fix jcst converter

* extend jcst format, update class set to Android 34, add optional android libs

* fix(gradle): add apache http client support for api level 28+

* don't require existing core.jcst file for convert cls set, improve performance

---------

Co-authored-by: Skylot <skylot@gmail.com>
2023-06-28 20:54:28 +01:00
Skylot
6620e650ef
fix: check args of inlined insns on reorder (#1919) 2023-06-19 15:05:06 +01:00
Skylot
2aa7438346
fix: check source file name alias uniqueness before rename (#1913) 2023-06-17 16:41:50 +01:00
Skylot
dddb7b2878
fix: don't inline consts into anonymous class constructor (#1901) 2023-06-13 21:35:15 +01:00
nitram84
82cafe6e94
fix(res): support min attr for attrs (PR #1909) 2023-06-12 14:50:10 +01:00
Skylot
b578479270
fix(res): remove first empty line in public.xml (#1907) 2023-06-11 13:43:55 +01:00
Skylot
38c3f8bf9a
fix: additional insns reorder checks (#1904) 2023-06-10 23:36:14 +01:00
Yoav Sternberg
f558203a9d
feat(api): access node under caret/mouse and jump (PR #1903)
* Access node under caret/mouse and jump
* Apply lint
2023-06-09 15:50:57 +01:00
Skylot
eb4d540b04
chore: update dependencies 2023-06-07 21:20:05 +01:00
Skylot
50c5f0874f
feat(gui): manage plugins in preferences window 2023-06-06 22:29:31 +01:00
Skylot
a72e6aeafe
feat(plugins): allow to set custom settings page in jadx-gui 2023-06-06 21:58:30 +01:00
Skylot
683cd76cc5
feat: add events support (#1832) 2023-06-06 21:58:29 +01:00
Goooler
df313dbfec
fix: replace jcenter with mavenCentral in export gradle files (PR #1896)
jcenter is deprecated, we can use mavenCentral as one of the default maven repo.
2023-06-06 13:26:01 +01:00
Skylot
99c8ceae9a
fix(gui): don't reset package alias on class rename (#1732) 2023-06-03 16:20:44 +03:00
Skylot
e9a7ccd00c
fix: don't change annotated code on finish (#1732)
Remove first empty line break annotation positions, can occur for classes in default package
2023-06-02 21:41:38 +01:00
Skylot
76e5824d99
feat(test): add util methods for renames in test (#1885) 2023-05-27 19:55:28 +01:00
nitram84
ea5b66d463
fix(gradle): add legacy support for vector drawables (PR #1879) 2023-05-25 20:19:26 +01:00
Skylot
8a67c39279
feat(cli): install and manage plugins from command line 2023-05-23 17:53:48 +01:00
Skylot
67054bda3d
fix: add rename reason for method merged with bridge (#1876) 2023-05-20 14:06:31 +01:00
Skylot
ae1b1ce99e
fix(build): use Kotlin with explicit project dependency 2023-05-17 21:26:55 +01:00
Skylot
5d3c96ead2
chore: update dependencies 2023-05-17 15:12:51 +01:00
Krzysztof Iwaniuk
63ad7fb128
feat: add option for hexadecimal integer format globally (PR #1869)
* option for hexadecimal integer format globally

* fix i18n strings, update readme

---------

Co-authored-by: Skylot <skylot@gmail.com>
2023-05-15 13:58:13 +01:00
Krzysztof Iwaniuk
ccdbb1d62c
feat: parse and use Kotlin metadata for renames (#1861)(PR #1860)
* initial setup for data class and metadata parsing
* bug fix & comments
* better version using plugin system
* added tests
* ignore getters test fix
* logs & imports
* reverted accidental changes
* moved util classes to plugin, spotless apply
* move test and some other minor fixes

---------

Co-authored-by: Skylot <skylot@gmail.com>
2023-05-14 21:34:40 +01:00
Skylot
3474f0da04
fix: split loop exit at loop end (#1866)
Loop exit (like condition) in loop end block can confuse loop restructure.
To resolve this try to split back edge and make loop end a simple path.
2023-05-13 22:10:21 +01:00
Skylot
0fd9a9df29
fix: check for annotations before remove empty default constructor (#1863) 2023-05-11 18:11:02 +01:00
bagipro
e29011eb95
fix(res): update Android resources to API 34 (PR #1864)
* update android resources to API 34
* fix format issues

---------

Co-authored-by: bagipro <bugi@bugi>
Co-authored-by: Skylot <skylot@gmail.com>
2023-05-11 17:26:02 +01:00
Skylot
f825901849
chore: update dependencies 2023-05-07 20:17:46 +01:00
Skylot
5aaceee978
fix: cache finally extract checks on multiple paths (#1853) 2023-05-06 18:41:29 +01:00
Skylot
f53dbbfebf
feat: option to disable inner classes move to parent (#1817) 2023-05-06 20:39:50 +03:00
nitram84
d29263ef57 fix(res): fix escaping for string arrays 2023-05-06 20:38:13 +03:00
nitram84
d8c8fb4e18 test(res): add unit tests for ResXmlGen 2023-05-06 20:38:13 +03:00
Skylot
5e8f9b900f
fix: remove class filtering on export (#1847) 2023-04-25 17:12:42 +01:00
Skylot
54f83cee1c
fix: run code schrink after insn args simplify (#1838) 2023-04-24 22:25:09 +01:00
Skylot
7f3bd8c668
fix: additional checks for primitive deboxing (#1838) 2023-04-24 22:25:09 +01:00
George Hopkins
bac2386a1a
fix: add parentheses around multiple lambda arguments (PR #1840)
* fix: add parentheses around multiple lambda arguments
* add simple test case
---------

Co-authored-by: Skylot <skylot@gmail.com>
2023-04-24 19:59:59 +01:00
Skylot
b7634024d6
chore: update gradle and dependencies 2023-04-20 17:22:16 +01:00
Skylot
9417671606
refactor: extract input-api into library (#1821) 2023-04-20 17:22:16 +01:00
Skylot
2e652b4219
fix(plugins): use loaded mapping tree on export (#1732) 2023-04-20 17:22:16 +01:00
Skylot
75fbdd3ac4
chore(build): set required Java version to 11, update dependencies 2023-04-20 17:22:16 +01:00
Skylot
7a309ca367
fix: improve plugins data handling 2023-04-20 17:22:15 +01:00
Skylot
a992c93198
fix(plugins): improve custom passes merge ordering 2023-04-20 17:22:15 +01:00
Skylot
ee3a653c1b
fix(gui): show options from all plugins 2023-04-20 17:22:15 +01:00
Skylot
e8e7028792
perf: improve usage data apply 2023-04-20 17:22:15 +01:00
Skylot
1891f6fd7e
fix: ignore source name if current alias is better (#1795) 2023-04-20 17:22:14 +01:00
Skylot
9f7432134c
feat(gui): show loaded mapping file in input nodes 2023-04-20 17:22:14 +01:00
Skylot
ea37f3e9f7
fix: don't inline constants into lambdas 2023-04-20 17:22:14 +01:00
Skylot
c6ed117df6
fix: improve internal state checks 2023-04-20 17:22:14 +01:00
Skylot
d5219e7f0c
feat: allow to move class to another package 2023-04-20 17:22:13 +01:00
Skylot
acbe94df27
feat(script): add code area popup menu action 2023-04-20 17:22:13 +01:00
Skylot
a2f018a00b
feat(gui): add run, check and format script actions 2023-04-20 17:22:12 +01:00
Skylot
98cc1b1022
script: add sample deobf by code script (#1706) 2023-04-20 17:22:06 +01:00
Skylot
745f46f81f
build: configure spotless for kotlin, apply code style fixes 2023-04-20 19:01:41 +03:00
Skylot
6912ed40b4
feat(gui): save usage data into disk cache 2023-04-20 19:01:41 +03:00
Skylot
a89dbc1152
refactor: make input plugin api similar to pass plugins 2023-04-20 19:01:40 +03:00
Skylot
0c4d46ead5
refactor: move plugins-api module into jadx-core 2023-04-20 19:01:39 +03:00
Skylot
eae9bac938
refactor: move mappings feature to separate plugin module 2023-04-20 19:01:39 +03:00
Julian Burner
cb91c8c41c
feat: mapping-io import support (#1531)(PR #1532)
* Add new CLI args for mapping files and deprecate args regarding jobf files (will be moved to the cache dir in the future)

* Add support for importing method arg mappings

Also change `mapping-file` to `mappings-path`, since folders are supported, too

* Add GUI for importing mappings

* Also show save file dialog when exporting mappings

* Fix crash on startup when `--mappings-path` parameter is set

* Include imported renames when exporting mappings

* Add "close mappings" menu entry

* Don't instantiate MappingTree unless actually needed

* Terminology: `import` → `open`; `export` → `save`

* Save location of open mapping file into project data

* Correctly reset cache when loading new mappings

* Remove unused import

* Save opened mappings' last modified date to reset cache when changed

* Fix if statement

* Correctly handle absence of mappings path in project data

* Show overwrite warning for folders only if not empty

* Prevent crash when imported mappings don't have any namespaces

* Handle wrong mappings namespace count error

* Replace unneeded public with private

* Add option for saving open mappings directly to disk

* Correctly propagate and throw exceptions during decompiler init

* Respect opened mappings' existing namespaces; fix related crash

* Deduplicate code, add `DalvikToJavaBytecodeUtils` class

* Small cleanup; move more functionality to utility class

* Support for importing class, field and method mappings

* Handle mappings in RenameDialog

* Fix checkstyle

* Fix wrong naming order

* Use modified mapping-io JAR from 18070eb7a6

That commit got rid of redundant embedded libraries

* Add null checks

* Check if mapping tree is null before running MappingsVisitor

* Use working mapping-io build

* Handle cache invalidation directly in DiskCodeCache class

* Don't reset UserRenamesMappingsMode if project is just reloaded

* Fix checkstyle

Co-authored-by: Skylot <skylot@gmail.com>
2023-04-20 19:01:38 +03:00
Skylot
cb1f3e9843
refactor: use package nodes in api and ui 2023-04-20 19:01:38 +03:00
Skylot
d4927db52b
refactor: split and simplify deobfuscator 2023-04-20 19:01:37 +03:00
Skylot
bc7300bd01
feat: add package node, allow to rename packages 2023-04-20 19:01:36 +03:00
Skylot
278d7fa3f9
feat(script): add options support 2023-04-20 19:01:35 +03:00
Skylot
e5e64365fc
feat: add base scripting support 2023-04-20 19:01:29 +03:00
Skylot
fdf170529f
fix: use strict patterns for synthetic methods inline (#1829) 2023-04-19 17:52:37 +01:00
Skylot
50283ab543
fix: additional checks to forbid inline of null consts (#1828) 2023-04-19 15:49:06 +01:00
Skylot
3fa3e5acec
fix: correct args shift for instance invoke-custom (#1816) 2023-04-16 20:10:57 +01:00
nitram84
1ad6527de5
fix(xml): use parent attibute only for styles (PR #1815) 2023-04-10 18:34:17 +01:00
nitram84
0421ad80c1
fix: filter invalid chars in app name for gradle export (PR #1813) 2023-04-08 18:16:14 +01:00
nitram84
35e0201f06 fix(gradle): fix gradle build with version 7.4.2 - 7.6 2023-04-08 19:49:15 +03:00
nitram84
118eea5e77 fix(res): set empty parent for styles without a parent, remove duplicated code 2023-04-08 19:49:15 +03:00
nitram84
7f317be325 fix(res): resolve declare-styleable atrributes 2023-04-08 19:49:15 +03:00
nitram84
e1aa9f6de4 fix(res): resolve custom attributes 2023-04-08 19:49:15 +03:00
nitram84
058a5e3bb2 fix(res): resolve int hex attributes 2023-04-08 19:49:15 +03:00
Skylot
157e702ffd
feat: inline lambdas by instance field (#1800) 2023-03-24 15:34:45 +00:00
Jan S
77892f41ec
fix(res): parsing of sparse RES_TABLE_TYPE_TYPE and RES_TABLE_TYPE_STAGED_ALIAS chunks (#1806 #1803)(PR #1807) 2023-03-23 17:30:29 +00:00
Jan S
6ba0e1dbf6
fix(res): handle RES_TABLE_TYPE_OVERLAY (#1748) (PR #1804) 2023-03-18 14:23:49 +00:00
Skylot
950fbbaa83
fix: restore missing type parameter declarations (#1800) 2023-03-17 20:28:42 +00:00
Skylot
5d6b82724a
fix(gui): search constant fields usage in all classes (#1801) 2023-03-16 17:41:23 +00:00
Jan S
78c976ad4f
fix(res): resolve manifest decoding error Expected strings start (#1797)(PR #1798) 2023-03-10 18:46:31 +03:00
Skylot
24284a6f3a
fix: process manifest before other resources (#1740) 2023-02-17 17:54:07 +00:00
Skylot
85c2c63aa3
fix: output unknown invoke-custom as polymorphic call (#1760) 2023-02-11 16:06:30 +00:00
Skylot
540c0a8100
feat: support polymorphic invoke (#384)(#1777) 2023-02-03 16:28:24 +00:00
Skylot
4d00fede56
fix: resolve JavaNode caching issues (#1775) 2023-02-02 19:39:42 +00:00
Skylot
b1bc5c08ff
chore: update dependencies 2023-02-02 15:23:54 +00:00
Skylot
068e4b8e3d
fix: allow altMetafactory method in lambda call site (#1760) 2023-01-15 16:08:34 +00:00
Skylot
5d186e56a5
chore: update dependencies 2022-12-25 18:53:25 +00:00
bagipro
07c2b14479
fix: escape special characters in AAB resources (PR #1747)
Co-authored-by: bagipro <bugi@macbook-pro-3.local>
2022-12-13 17:34:16 +00:00
Skylot
e1b7d361b9
fix: check full signature for search method override (#1743) 2022-12-09 17:13:01 +00:00
Skylot
12ef29bebc
chore: update gradle and dependencies 2022-12-09 17:13:01 +00:00
Skylot
e9e45707da
chore: update dependencies 2022-10-20 14:54:31 +01:00
Skylot
b9d02ff4c4
refactor: remove all LinkedList usage 2022-10-12 17:05:08 +01:00
Skylot
620a177ce8
fix: restore enum class with custom code in static init (#1699) 2022-10-08 21:54:06 +01:00
Skylot
683c2dfbeb
fix: improve ternary inline, resolve more enum cases (#1686) 2022-10-07 15:51:11 +01:00
Jan S
8a45602ae6
fix: improve logging messages for zip security errors (#750)(PR #1698)
Logging error messages on invalid file-names or path traversal attacks improved
2022-10-06 19:31:42 +01:00
Skylot
711419a797
fix: correct fix for all use places of incompatible primitives (#1688) 2022-10-03 00:11:04 +03:00
Skylot
603f3057eb
chore: update dependencies 2022-10-03 00:11:01 +03:00
Skylot
49fa320989
fix: handle possible concurrent exception in method codegen (#1685) 2022-09-29 20:28:01 +01:00
Skylot
2f301bf150
fix: don't mark constructor for inline if anonymous class inline is disabled (#1680) 2022-09-25 17:47:53 +01:00
Skylot
151c171616
fix: handle empty block at end of else-if chain (#1674) 2022-09-23 20:40:56 +01:00
Skylot
79477a2de3
fix: don't rename bridged overridden methods (#1672) 2022-09-23 19:16:34 +01:00
Jan S
b50706505f
fix(res): implemented parsing RES_TABLE_TYPE_LIBRARY chunks (#1663)(PR #1664)
* core: Implemented parsing RES_TABLE_TYPE_LIBRARY chunks

* skip unknown data at the end of type chunk
2022-09-10 16:58:26 +01:00
Skylot
ce5d8eeff8
fix: don't inline anonymous in self inner class (#1645) 2022-08-18 15:48:17 +01:00
Jan S
894e0e6132
fix: UnsupportedOperationException on adding a field (#1645)(PR #1646)
* fix: UnsupportedOperationException on adding a field

* changed list check and creation similar to safeAdd
2022-08-18 15:33:18 +01:00
Skylot
e0aedc7949
fix: improve top block search for try/catch (#1633) 2022-08-15 21:31:26 +01:00
Skylot
bad78de74c
perf: improve directory delete 2022-08-14 13:38:12 +01:00
Skylot
12df8a169f
chore: update gradle and dependencies 2022-08-13 18:25:08 +01:00
Skylot
15c9d33339
fix(gui): handle possible classes overlap in disk cache (#1633) 2022-08-13 13:13:13 +00:00
Skylot
8ba0c17259
fix: handle empty endless loop (#1611) 2022-08-10 22:07:52 +01:00
Skylot
6e5899c654
fix: checks for field init reorder (#1599) 2022-08-04 17:38:46 +01:00
Jan S
ae2d4da585
fix(res): XML "@null" decoding (#1583)(PR #1594)
minor improvements
2022-07-31 13:50:32 +01:00
Skylot
691d5cd1e6
fix: hide unused label before exception handler in simple mode 2022-07-30 17:33:23 +01:00
Skylot
03e4afb12f
fix: check variables before merge in finally block (#1592) 2022-07-30 13:48:53 +01:00
Skylot
ab4b6f9e54
feat: select better resource name (#1581) 2022-07-25 19:53:03 +01:00
Skylot
8b4f8fb572
fix: resolve inherited method to use correct alias (#1582) 2022-07-24 19:15:52 +03:00
Skylot
87e0e5bf16
fix: correct inline/merge with overriden bridge method (#1580) 2022-07-20 14:49:37 +01:00
Skylot
f4b3645435
fix: ignore anonymous classes in enclosing node search (#1580) 2022-07-19 19:25:17 +01:00
Skylot
c27f2badf7
fix(gui): resolve payload offset for switch insns in debug smali code (#1575) 2022-07-18 18:50:48 +01:00
Skylot
1a877d6535
fix: resolve possible decompilation double execution 2022-07-16 22:29:59 +03:00
Skylot
a0f4ccb7a4
fix: update deps and fix proto resource loading (AAB) (#1129) 2022-07-14 14:33:04 +01:00
Skylot
5b5524a7dd
fix: handle parent of inlined/moved classes (#1578) 2022-07-14 14:40:13 +03:00
Skylot
51555667cf
fix: add more checks before remove or rename enum methods (#1572) 2022-07-07 16:55:32 +01:00
Skylot
e01ea7010f
fix: save classes with code generation error into cache (#1568) 2022-07-03 19:32:41 +01:00
Skylot
a67fc83949
fix: better dominators algorithms 2022-07-01 17:26:54 +01:00
Skylot
3d920725aa
fix: check synthetic methods before remove/inline (#1560) 2022-06-29 19:19:54 +01:00
Skylot
2f2fbea558
fix(gui): check user renames (#1557) 2022-06-29 16:21:49 +01:00
Skylot
e7a86a2960
fix(gui): forbid rename method args in fallback mode (#1558) 2022-06-29 15:25:23 +01:00
Skylot
e4ca52a95f
chore: update dependencies 2022-06-28 16:23:31 +01:00
Skylot
92a6c333d8
fix(gui): force jadx new version check by default 2022-06-20 12:55:15 +01:00
Skylot
65f7c80222
feat(gui): add reload and live reload actions (#1537) 2022-06-18 20:20:11 +01:00
Skylot
d2e6bb236e
fix: use wide move for long/double store/load java opcodes 2022-06-16 16:26:14 +01:00
Skylot
eaeb114258
fix: check class name collisions (#1526) 2022-06-15 18:43:33 +01:00
Skylot
1533b7fe6e
fix: keep types on duplicate cast remove (#1527) 2022-06-12 21:55:12 +01:00
Julian Burner
a2cd8e1ead
feat(gui): support export to deobfuscation mapping file formats (#1491)(PR #1505)
* Add option to export mappings as Tiny v2 file

* Comply with JADX's import order conventions

* Only use Java 8 features

* Only use Java 8 features (2)

* Export comments to mappings file

* Method args test (doesn't work)

* Make method arg mapping exports work now

* Use `getTopParentClass()` instead of `getParentClass()`

See https://github.com/skylot/jadx/pull/1505#issuecomment-1145064865

* Remove unneeded method load call

* Small code cleanup; initial (broken) support for method vars

* Fixes regarding inner classes

* Add option to export mappings as Enigma directory

* Add option to export mappings as Enigma file/directory

Temporarily move to my mapping-io fork until this PR gets merged: https://github.com/FabricMC/mapping-io/pull/19

* Fix method vars' lv-indices

* Use correct offset value for method var mappings

* Also supply lvt-index for method var mappings

* Clarify why we're using local mapping-io fork; comment out Fabric Maven for now

* Remove unnecessary `public` modifier

* Make an `if` condition less complicated

* Move mapping export code into jadx-gui (for now)

* Make mapping export async; make export menu only clickable when everything is loaded

* Fix export mappings menu field declaration position
2022-06-11 20:19:08 +01:00
Skylot
0b2e2ed034
fix: improve class search for super call (#1512) 2022-06-05 14:49:34 +01:00
Skylot
81231206f3
fix(gui): reset disk cache on new jadx version 2022-06-04 23:26:25 +01:00
Skylot
49d0e76272
fix: support all-catch in multi-catch (#1510) 2022-06-04 23:25:52 +01:00
Skylot
d6c851eed4
test: fix method code extract 2022-06-02 19:33:16 +01:00
Skylot
e6b6b93cbb
fix: improve blocks tree compare for finally extract (#1501) 2022-05-31 20:57:34 +01:00
Skylot
fcd58ae76f
fix: remap class names for store in disk cache (#1503) 2022-05-30 18:16:05 +01:00
CKCat
9d88592391
fix(res): ignore version in AndroidManifest.xml (#1502)(PR #1504) 2022-05-30 14:10:10 +01:00
Skylot
98c0416b20
fix(gui): correct close and reopen for decompiler and cache 2022-05-28 16:41:37 +03:00
Skylot
2aa6c99c90
fix: skip dex files with parsing errors (#1495) 2022-05-28 13:27:29 +01:00
Skylot
cb741db623
fix: improve usage search, refactor java nodes creation (#1489) 2022-05-27 17:56:08 +01:00
Skylot
81f209ba9e
fix: check if directory exists before delete (#1493) 2022-05-26 19:23:59 +03:00
Skylot
4cd4746f9a
fix(gui): save variable name to show in tooltip (#1487) 2022-05-22 15:34:09 +01:00
Skylot
6448f0e32b
fix: use variable length encoding instead short for offsets (can overflow) (#1489) 2022-05-22 14:23:15 +01:00
Skylot
e07332d49a
fix(gui): resolve cast exception for variable reference (#1489) 2022-05-21 21:33:58 +01:00
Skylot
21e94d8d5c
fix(gui): use alias for types in tooltips (#1487) 2022-05-20 22:09:39 +01:00
Skylot
7b1c7b967a
fix: use alias for variable names (#1487) 2022-05-20 22:09:39 +01:00
skylot
0606c90f22
feat(gui): disk code cache and search rewrite (PR #1483)
* feat: implement disk code cache
* feat: rewrite code metadata handling, remove code index
* feat: rewrite search
* fix: code cleanup and fixes for previous commits
* feat: run code search in parallel
* fix: reset code strings cache on low memory, code cleanup
* fix: include input files timestamp into code hash
2022-05-18 15:19:31 +01:00
Skylot
a717392379
fix: workaround to prevent incorrect order after move inline (#1472) 2022-04-29 15:37:07 +01:00
Skylot
a71b3a71d8
fix: better code styling for if-else blocks (#1455) 2022-04-26 20:18:06 +01:00
Nelson Gregório
357706b070
feat: allow to include/exclude dependencies when saving with class filter (#1466)(PR #1467)
* feat: Add option to include/exclude dependencies when saving
* fix save skip for class depencencies

Co-authored-by: Skylot <skylot@gmail.com>
2022-04-26 17:18:51 +01:00
Skylot
1832f2aee3
feat: allow to load custom input (#1457) 2022-04-21 13:21:13 +01:00
Skylot
b66293a2f7
fix: handle wildcard in invoke type resolver (#1238) 2022-04-18 16:27:35 +01:00
Skylot
cf25cc4faa
fix: prevent null type in code variables 2022-04-17 19:18:33 +01:00
Skylot
b57001d4a7
fix: use correct reference for replaced bridge constructor (#1441) 2022-04-10 15:48:36 +01:00
Skylot
c9622c0771
chore: update class set to Android 32 2022-04-05 20:21:41 +03:00
Jan S
8551c6c903
fix(res): ignore resource chunk entries that are located after the resource chunk end (#751)(PR #1436) 2022-04-04 18:05:07 +01:00
Matt
e784cbdd09
fix(deobf): fix writing method mappings as fields entries (#1432)(PR #1433) 2022-04-02 12:30:25 +01:00
Skylot
3d451912ee
fix: handle inlined classes while collecting override related methods (#1422) 2022-03-25 12:56:18 +00:00
Skylot
d8306cb1c0
feat: add 'simple' decompilation mode 2022-03-23 18:16:54 +03:00
Jan S
909cf0a576
fix: various minor improvements (PR #1418)
* chore: better variable naming for getInstance calls
* chore: rebalance preferences window and fix empty plugins section directly after jadx-gui start
* chore: do not ask for project save if nothing had been changed
* use parallel mode for gradle
* minor improvements for app debugging
* apply CodeQL suggestion to prevent log injection
* handle IntelliJ Idea warnings
* replace not-ASCII chars in LogUtils.escape

Co-authored-by: Skylot <skylot@gmail.com>
2022-03-23 15:13:53 +00:00
Skylot
d2bef108f5
chore: update dependencies 2022-03-19 18:52:44 +00:00
Skylot
cb03532b76
fix: allow implicit type cast for array operations (#1407) 2022-03-14 18:47:55 +00:00
Skylot
c93e9eea14
fix: improve class names collision detection (#1406) 2022-03-13 12:08:03 +00:00
Skylot
94fb91cec6
feat: add options for java-convert plugin 2022-03-02 15:40:32 +00:00
Jan S
17fbc99f29
feat(gui): dialog for showing exception details and creating an GitHub issue (PR #1399)
* chore(gui): Dialog for showing exception details and creating an GitHub issue
* directly throw test exception
* checkstyle
* minor
* log exception before the dialog is shown
2022-03-01 15:00:22 +00:00
Skylot
5f3c8816a3
fix: allow zero skips for restore new filled array 2022-02-26 17:29:00 +00:00
Skylot
6016b902c7
test: fix usage of Eclipse compiler 2022-02-26 17:29:00 +00:00