789 Commits

Author SHA1 Message Date
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
Jan S
37a42d1418
fix(gui): show correct content of binary resources in hex view (#2160) (PR #2166) 2024-04-24 19:29:52 +01:00
Jan S
07dde05337
fix(build): configure launch4j to not change current directory (#2162) (PR #2163) 2024-04-24 18:52:08 +01:00
Skylot
bc70f8eabb
fix: use correct new line string for simple code writer 2024-04-20 17:37:45 +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
ec9244a635
fix(gui): use common code for manifest parsing in debugger 2024-04-19 20:14:25 +01:00
omerfarukkykc
a5bd64461d
fix(gui): remember selected device in debugger (PR #2153)
* ADBDialog->launchApp() if multiple devices presented should let user select the one they desire.

* compare objects directly instead parsing

---------

Co-authored-by: Ömer Faruk KAYIKCI <omer.kayikci@tubitak.gov.tr>
Co-authored-by: Skylot <118523+skylot@users.noreply.github.com>
2024-04-19 19:02:12 +01:00
Skylot
6aab8fabc9
chore: update dependencies 2024-04-11 23:07:41 +03:00
JustFor
665c1e57d2
fix(gui): update Messages_zh_CN.properties (PR #2146)
Sync new Jadx text.
2024-04-09 22:11:24 +01:00
Skylot
6e8affcbdc
feat: add options to JadxArgs to change code new line and indent (#1945, #1948) 2024-04-08 21:51:24 +01:00
Skylot
dbadbb01fc
refactor: rename method collectArgsWithoutLoading into collectArgNodes in MethodNode (#2142) 2024-04-07 23:09:02 +01:00
Skylot
0f52077c5c
feat: allow to set style for code comments (#2145) 2024-04-07 23:06:32 +01:00
Skylot
8f969d4e89
chore: update gradle and dependencies 2024-04-03 21:03:48 +01:00
Skylot
ecdc4e6757
refactor: move constant collection into separate pass (#2119) 2024-03-30 21:51:02 +00:00
xnumad
6b4976c593
fix(gui): handle paths where file name is null (#2136)(PR #2137)
* fix: Ignore invalid files

Avoid NullPointerException when using "Open files" or drag-n-drop

* refactor: Replace Stream API chain with loop

IntelliJ

* fix: Ignore invalid files

Avoid NullPointerException when using "Add files"

* fix: Fall back to complete path string

Instead of empty project name

* fix: Render tree

Project tree (sidebar) didn’t load
Toggling "View > Show flatten packages" threw a NPE here

* fix code formatting

---------

Co-authored-by: Skylot <skylot@gmail.com>
2024-03-29 22:30:01 +00:00
Skylot
463d2b90fa
fix: don't apply node positions and prevent eager loading for custom decompile modes (#2116) 2024-03-19 20:23:04 +00:00
Skylot
49d2b34d84
chore: update dependencies 2024-03-16 21:58:00 +03:00
JustFor
8760b4ddde
fix(gui): copy strings without quotes (PR #2121)
* Update AbstractCodeArea.java

In general, we need data, not text in code. But now every time you copy the highlighted text, you copy the highlighted quotes as well. This often results in an extra need to delete the quotation marks around the sides, which is confusing.
Now when copying selected highlighted text, quotes are not copied in.

* Update AbstractCodeArea.java

fix code format

* additional checks, move to common method

---------

Co-authored-by: Skylot <skylot@gmail.com>
2024-03-16 18:55:57 +00:00
Andrei Kudryavtsev
3599b248a4
feat(gui): dragging tab appearance settings (#2120)(PR #2118) 2024-03-08 23:11:58 +03:00
Skylot
56749b2afb
chore: update dependencies 2024-02-25 22:38:00 +03:00
Andrei Kudryavtsev
d7ec35791b
feat(gui): tabs drag and drop reorder support (#1212) (PR #2109) 2024-02-25 19:36:46 +00:00
Skylot
5c0c1daa71
fix(gui): use new RSTA line number formatter API to show source lines 2024-02-16 18:38:56 +00:00
Skylot
603ea3989a
chore: update dependencies 2024-02-16 17:41:37 +00:00
Emiel Matthys
018ff98df7
feat(gui): remember save preference decision (PR #2103)
* First version

* Use dropdown

* Spotless

* Language strings and tests

* Comment out translated versions

* Remove more translations

---------

Co-authored-by: Emiel Matthys <emiel.matthys@guardsquare.com>
2024-02-15 18:00:37 +00:00
Andrei Kudryavtsev
7e628ad1a1
fix(gui): detecting tab click with mousePressed instead of mouseClicked (PR #2097) 2024-02-04 17:36:02 +00:00
Skylot
1a07ab8ab1
chore: update dependencies 2024-01-25 20:10:39 +00:00
Skylot
75d2e540aa
refactor: add new task executor, remove task barrier (#1879) 2024-01-25 19:45:23 +00:00
Skylot
61be1d8b0a
fix(gui): allow to reset variable name, fix renames for inner classes 2024-01-18 20:36:51 +00:00
Skylot
4483533417
fix(gui): highlight word even if cursor at the end of that word (#2083) 2024-01-18 19:40:53 +00:00
Skylot
fb703cd856
fix(gui): scroll to first error on jadx script check/run 2024-01-18 18:17:53 +00:00
Skylot
c0ff7572ac
fix(gui): round file size to block size for cache usage calculation 2024-01-17 18:25:35 +00:00
Skylot
6f1dfb6848
chore: update dependencies 2024-01-15 22:18:45 +03:00
Skylot
03052baabe
chore: update dependencies 2024-01-11 19:10:44 +00:00
Iscle
23e643c686
fix(gui): attempt to resolve field rename issues with shortcut (#1440)(PR#2075)
This is an attempt to fix the issues that sometimes arise when renaming functions or variables using the "n" shortcut as stated in issue #1440.

The reasoning behind the change: The instance creation of the RenameDialog was somehow affecting the UI thread and not allowing for the key release event to be dispatched. By running everything inside the invokeLater block, this might get fixed as it will execute after all previous tasks are finished.
We now also only show the dialog after EVERYTHING is set up, not before.
2024-01-05 21:42:06 +03:00
Iscle
faeae086d1
feat(gui): improve search bar behavior when using key bindings (PR #2074)
Before, the search bar would toggle, which was quite annoying. Now, it replicates IntelliJ's search bar behaviour.

1.1. If the user has selected text, use that as the search text
1.2. Otherwise, use the previous search text (or empty if none)
2. Select all text in the search bar and give it focus
2024-01-05 21:31:34 +03:00
Iscle
38e64fafbd
feat: add an option to generate kotlin code for xposed (PR #2070)
* feat: add an option to generate kotlin code for xposed

A new setting was added, bumping the settings version to 19.

* refactor: applied spotless

* refactor: fixed formatting

* refactor: fixed formatting once again
2024-01-05 21:24:08 +03:00
Skylot
3e57dacfd3
chore: update dependencies 2023-12-21 19:00:33 +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
238fe17df0
fix(gui): add hint for class renaming (#1590) 2023-12-18 18:14:56 +00:00
Skylot
8db70ee7a5
fix(gui): resolve reset and commit issues for disk code cache 2023-12-16 19:20:43 +03:00
LanBaiCode
b6155afd32
fix(gui): use correct type for generic params in Xposed snippet (PR #2057)
* Fix: Resolved an issue with incorrectly generated xposedMethodSnippet when the parameter type is generic.
Add: Introduced xposedGenerateFieldSnippet.

* fix code format

* Fixed: Resolved the issue where Xposed code generation was incorrect when dealing with generic parameters and alias fields.

---------

Co-authored-by: skylot <118523+skylot@users.noreply.github.com>
2023-12-11 17:14:10 +00:00
Skylot
2de91f9a3a
chore: update gradle and dependencies 2023-12-04 23:18:51 +03:00
LanBaiCode
ca03406a3d
fix: correct type for generic params in Xposed snippet, add fields support (PR #2047)
* Fix: Resolved an issue with incorrectly generated xposedMethodSnippet when the parameter type is generic.
Add: Introduced xposedGenerateFieldSnippet.

* fix code format

---------

Co-authored-by: skylot <118523+skylot@users.noreply.github.com>
2023-11-25 17:55:53 +00:00
Skylot
1b51234edc
chore: update dependencies 2023-11-16 20:48:07 +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
192a8116f1
chore: update FlatLaf 2023-10-27 23:35:01 +03:00
Skylot
4a92ee07cc
fix(gui): hide not needed popup action for not editable code 2023-10-21 23:08:00 +01:00
Skylot
fdffe20c46
fix(gui): another try to fix code search 2023-10-21 23:08:00 +01:00