Commit Graph

201 Commits

Author SHA1 Message Date
Skylot
b26abdc851
feat(plugins): get config and cache dirs for plugins
Some checks failed
Build Artifacts / build (push) Has been cancelled
Build Artifacts / build-win-bundle (push) Has been cancelled
Build Test / tests (ubuntu-latest) (push) Has been cancelled
Build Test / tests (windows-latest) (push) Has been cancelled
CodeQL / Analyze (java) (push) Has been cancelled
Validate Gradle Wrapper / Validation (push) Has been cancelled
2024-09-29 21:55:05 +01:00
Skylot
0b225238fb
feat: support restore of switch over string (basic case)(#2288) 2024-09-27 21:11:38 +01:00
pubiqq
b5e3dcf70f
feat: add the option to always use source file name as class name alias (PR #2287) 2024-09-23 22:47:08 +01:00
Skylot
8f27de4d0e
chore: update dependencies
Some checks failed
Build Artifacts / build-win-bundle (push) Waiting to run
Build Test / tests (windows-latest) (push) Waiting to run
Build Artifacts / build (push) Failing after 0s
Build Test / tests (ubuntu-latest) (push) Failing after 0s
CodeQL / Analyze (java) (push) Failing after 0s
Validate Gradle Wrapper / Validation (push) Failing after 0s
2024-09-21 22:00:03 +01:00
Skylot
603863403f
fix: do not add custom passes for fallback and simple modes (#2276) 2024-09-13 21:01:19 +01:00
Skylot
b5807082d9
chore: update gradle and dependencies 2024-09-11 19:54:49 +01:00
Skylot
0e11bffe82
chore: update dependencies 2024-09-04 20:02:56 +01:00
Skylot
eee354a3ab
chore: update gradle and dependencies 2024-08-17 21:01:27 +01:00
Skylot
1051dacb1e
refactor(tests): migrate from Hamcrest to AssertJ 2024-08-11 21:55:56 +01:00
Skylot
5f1bd1d9ba
chore: migrate gradle shadow plugin 2024-08-08 20:44:34 +01:00
Skylot
09fa35f144
feat: allow to change config and cache dirs with env vars (#2159) 2024-04-27 21:48:42 +01:00
Andrei Kudryavtsev
b85900aa3d
feat: move AAB support to separate plugin (PR #2165)
* wip: finished with factories

* wip: bundleconfig.pb

* wip: jadx-aab-input, separate BundleConfig parser

* wip: removed test apks

* wip: proto xml pretty print

* wip: fixed getNamedValues NPE

* minor fixes

* spotless

* enabled zip64 for gui shadow jar

* spotless

* spotless

* reverted manifest identification since signature parsing not working at the moment

* replace static methods with new API methods

---------

Co-authored-by: Skylot <118523+skylot@users.noreply.github.com>
2024-04-26 21:54:54 +01:00
Skylot
f2ea6415c9
fix(cli): don't print stacktrace for incorrect options (#2140) 2024-04-20 18:06:30 +01:00
Skylot
be25cbf8c2
fix: use common parser for manifest, verify app package 2024-04-20 17:37:45 +01:00
Skylot
f9c0cad146
chore: update dependencies 2024-04-19 20:14:25 +01:00
Skylot
6aab8fabc9
chore: update dependencies 2024-04-11 23:07:41 +03:00
Skylot
bff00d101f
fix(script): add option flags, fix missing script options in help 2024-03-19 20:22:50 +00:00
Skylot
49d2b34d84
chore: update dependencies 2024-03-16 21:58:00 +03:00
Skylot
56749b2afb
chore: update dependencies 2024-02-25 22:38:00 +03:00
Skylot
a3a4fabd5a
fix: store classes access flags in class set 2024-02-07 22:10:31 +03:00
Skylot
75d2e540aa
refactor: add new task executor, remove task barrier (#1879) 2024-01-25 19:45:23 +00:00
bagipro
e73612b4d2
feat(res): disable XML pretty print (PR #2087)
Co-authored-by: bagipro <bugi@bugi>
2024-01-22 15:01:38 +00:00
Skylot
e723c245ee
fix: use correct type printer in json output mode (#2053) 2023-12-23 18:46:39 +00:00
Iscle
f5accc8464
feat: add support for xapk files (#1597)(PR #2064)
* feat: annotate JadxPlugin with NotNull

Allows for better Kotlin support

* feat: add support for custom resources loader

* feat: add support for xapk resources loading

* fix: rename "decode" to "load"

* refactor: annotate JadxCodeInput with NotNull

* feat: add support for xapk code loading

* feat: add xapk support to file filter

* fix code formatting

* revert NotNull annotation

* several improvements

* refactor: fix typo

---------

Co-authored-by: Skylot <skylot@gmail.com>
2023-12-21 18:46:40 +00:00
Skylot
2de91f9a3a
chore: update gradle and dependencies 2023-12-04 23:18:51 +03:00
Skylot
2d28da9b0e
feat: allow to set zip max entries count using env var (#1751) 2023-11-16 20:48:08 +03:00
Skylot
a989fa7e64
refactor(deobf): split deobfuscation conditions (#2040) 2023-11-05 20:22:15 +00:00
nitram84
f7002c7fad
feat(deobf): implement a whitelist for deobfuscation (PR #2040) 2023-11-05 20:21:41 +00:00
Skylot
6433fcef72
chore: update gradle and dependencies 2023-10-07 18:08:44 +01:00
Skylot
19f40b8549
feat(cli): add option to show available plugins list 2023-09-27 19:44:58 +01:00
Skylot
762c2d70bd
chore: fix typos 2023-09-24 18:53:39 +01:00
Skylot
4d87b447a6
chore: remove unused code in ClsSet class (#2020) 2023-09-22 20:31:56 +01:00
Skylot
f81a2c4ebb
chore: update dependencies 2023-08-11 17:36:14 +01:00
Skylot
752c61ae71
fix: disable zip file checks for new JVM versions (#1962) 2023-07-28 20:09:54 +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
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
8a67c39279
feat(cli): install and manage plugins from command line 2023-05-23 17:53:48 +01:00
Skylot
ed4c5a3a17
fix: use shadow jar in app bundle to reduce jars count (#1868) 2023-05-18 20:40:39 +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
f53dbbfebf
feat: option to disable inner classes move to parent (#1817) 2023-05-06 20:39:50 +03:00
Skylot
b7634024d6
chore: update gradle and dependencies 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
780b1a0d53
fix(gui): resolve ktlint deprecation warnings 2023-04-20 17:22:14 +01:00
Skylot
a89dbc1152
refactor: make input plugin api similar to pass plugins 2023-04-20 19:01:40 +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
278d7fa3f9
feat(script): add options support 2023-04-20 19:01:35 +03:00