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