Commit Graph

694 Commits

Author SHA1 Message Date
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
Skylot
2e3579a8fd
fix(gui): disable rename action in tree popup if not allowed (#1890) 2023-06-03 14:38:33 +01:00
Skylot
99c8ceae9a
fix(gui): don't reset package alias on class rename (#1732) 2023-06-03 16:20:44 +03:00
Skylot
3bf101d7ac
feat(gui): split settings into pages 2023-05-27 15:40:38 +01:00
myzhan
c28320e1b2
feat(gui): add an action to prettify json file in resources (PR #1880)
* feat(gui): add an action to prettify json file in resources

* fix build

---------

Co-authored-by: Skylot <skylot@gmail.com>
2023-05-25 21:56:06 +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
f52d2814df
fix(gui): queue UI settings update (#1859) 2023-05-08 17:01:26 +01:00
Skylot
f825901849
chore: update dependencies 2023-05-07 20:17:46 +01:00
Skylot
f53dbbfebf
feat: option to disable inner classes move to parent (#1817) 2023-05-06 20:39:50 +03:00
JustFor
ecbcbbe8d4
fix(gui): update CN translation (PR #1852)
Fixed the problem of indistinguishable after English translation.
2023-04-28 22:25:15 +01:00
Skylot
37b1bff8f2
fix(gui): adjust node by offset search in code area (#1845) 2023-04-25 21:28:27 +01:00
JustFor
7f713e5592
fix(gui): update Messages_zh_CN.properties (PR #1831) 2023-04-21 14:42:02 +01:00
Skylot
ee2556ecb6
fix(gui): update mappings node instead full reload on 'save as' (#1732) 2023-04-20 22:00:06 +01:00
Skylot
e57787393e
chore(build): fix gradle tasks dependencies 2023-04-20 19:46:59 +01:00
Skylot
b7634024d6
chore: update gradle and dependencies 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
13e317d927
fix(gui): resolve active tab restore issue 2023-04-20 17:22:15 +01:00
Skylot
7a309ca367
fix: improve plugins data handling 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
2403d32ae4
feat(gui): use plain json config instead java preferences 2023-04-20 17:22:15 +01:00
Skylot
1c89c7290c
fix(gui): discard old settings migrations 2023-04-20 17:22:15 +01:00
Skylot
9f7432134c
feat(gui): show loaded mapping file in input nodes 2023-04-20 17:22:14 +01:00
Skylot
7d69e5aaab
feat(gui): add script log open button 2023-04-20 17:22:14 +01:00
Skylot
780b1a0d53
fix(gui): resolve ktlint deprecation warnings 2023-04-20 17:22:14 +01:00
Skylot
cedcc29e01
chore(gui): add missing keys for new i18n file 2023-04-20 17:22:13 +01:00
Skylot
d5219e7f0c
feat: allow to move class to another package 2023-04-20 17:22:13 +01:00
Skylot
9a6dec0dbd
fix: scripts runtime code and docs clean up 2023-04-20 17:22:13 +01:00
Skylot
17574ee554
chore: update dependencies 2023-04-20 17:22:13 +01:00
Skylot
926f4e497a
feat(gui): allow to dock log viewer, new filter modes 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
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
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
278d7fa3f9
feat(script): add options support 2023-04-20 19:01:35 +03:00
Skylot
d9af91bc4d
feat(gui): add auto complete for jadx scripts 2023-04-20 19:01:35 +03:00
Skylot
18fe9f305c
feat(gui): support scripts in UI 2023-04-20 19:01:34 +03:00
JustFor
92b49ec2b5
fix(gui): update Messages_zh_CN.properties (PR #1811)
sync new text, and Some symbols are translated
2023-04-07 19:20:15 +01:00
Skylot
583a04b092
fix(gui): show skipped resources count during search (#1808) 2023-03-24 22:00:07 +00:00
Skylot
444a04e2f7
fix(gui): redirect jump from search for inlined classes 2023-03-24 15:34:46 +00:00
Skylot
157e702ffd
feat: inline lambdas by instance field (#1800) 2023-03-24 15:34:45 +00:00
Skylot
912c431511
fix(debugger): process UI updates in correct thread (#1796) 2023-03-17 14:23:36 +00:00
Skylot
5d6b82724a
fix(gui): search constant fields usage in all classes (#1801) 2023-03-16 17:41:23 +00:00
Skylot
f354f7de63
fix(gui): split tabs loading to prevent ui dead lock 2023-02-11 14:01:31 +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
Ran Naor
305d4f4fe5
fix(gui): print the renamed function name in a frida snippet log (#1772)(PR #1773)
* frida snippet log now prints the correct method name if the method was renamed
* fixed spotless check in frida snippet
* get the renamed method name from the alias proprety and changed to format string to fit frida-trace style
* fixed import order to fix gradle spotless warning
2023-01-28 17:59:42 +00:00
Ran Naor
2d149e9a5d
fix(gui): allow html in JVariable to render renaming of variables correctly (#1769)(PR #1770) 2023-01-27 17:03:43 +00:00
Ran Naor
87b9ff3c35
feat(gui): added keyboard shortcut ctrl+w to close tab (#1765)(PR #1766) 2023-01-21 17:22:36 +00:00
Zach Snell
1c36b3c74c
fix(gui): quick fix for duplicate/overlapping logcat windows (#1752)(PR #1761)
* Simple fix to duplicate/overlapping logcat windows. Could be improved by not re-creating UI every time
* Apply suggestions from code review
* Another try to fix trailing spaces using GitHub suggestions

Co-authored-by: Zach Snell <zach.snell@bivalogic.com>
Co-authored-by: skylot <118523+skylot@users.noreply.github.com>
2023-01-21 17:07:27 +00:00
Skylot
df38a6424f
fix(gui): make bytecode output closer to smali (#1739) 2022-12-25 18:53:25 +00:00
Skylot
5d186e56a5
chore: update dependencies 2022-12-25 18:53:25 +00:00
Skylot
0fafcfa006
fix(gui): improve smali disasm method param write (#1739) 2022-12-13 17:40:00 +00:00
jmlitfi
e3fdbafd86
fix(gui): resolve exception in smali method writer (#1739)(PR #1745)
Co-authored-by: jmlitfi <jeffmlitfi@gmail.com>
2022-12-13 17:39:20 +00:00
Artem Zhiganov
cdc844aaf3
feat(gui): add Russian Translation (PR #1744) 2022-12-10 13:11:34 +00:00
Skylot
12ef29bebc
chore: update gradle and dependencies 2022-12-09 17:13:01 +00:00
Skylot
22ed241d50
fix(gui): correct html render in comments search results 2022-11-15 13:53:48 +00:00
Shatyuka
28e5a3c5be
fix(gui): hi-dpi main window initial size (#1728)(PR #1729) 2022-11-14 18:19:09 +00:00
Skylot
bb4d88cc68
fix(gui): add template for constructor and void methods to Frida snippet (#1714) 2022-11-07 19:13:11 +00:00
Mathis Hesse
4aaea2b93f
fix(gui): change callMethodName of constructors in Frida action (#1714)(PR #1715)
* Change callMethodName of constructors in Frida action

* Fix format violation in FridaAction

* Fix format violation in FridaAction
2022-11-07 19:11:22 +00:00
Skylot
bc8d7c4fc3
feat(gui): add native libs info to summary (#1717) 2022-11-03 19:15:33 +00:00
Skylot
5ea6c46778
fix(gui): show all code sources in summary (remove dex filter) (#1716) 2022-11-03 18:25:22 +00:00
Skylot
b28f8ba85b
fix(gui): try to handle exception in RSTA.getPreferredSize() (#1712) 2022-10-29 21:17:17 +01:00
Skylot
4db50fb749
fix(gui): correct html disabling in search results 2022-10-27 10:29:50 +01:00
Skylot
2bace2bde2
fix(gui): disable shell folders in file open dialog (#1709) 2022-10-26 20:08:57 +01:00
Skylot
1a9cb832ab
feat(gui): add alternative file open dialog (#1709) 2022-10-26 19:58:58 +01:00
Skylot
6844a46c93
fix: disable HTML rendering in labels if not needed 2022-10-20 15:58:23 +01:00
Skylot
e9e45707da
chore: update dependencies 2022-10-20 14:54:31 +01:00
Jan S
29b64300bc
fix(gui): multi-threading issue in DebugController fixed (#1701) (PR #1702) 2022-10-11 19:21:06 +01:00
zhongqingsong
777355e86e
fix(gui): update Messages_zh_CN.properties (PR #1700)
Add new text about logcat.
2022-10-10 18:57:58 +01:00
Skylot
266cbcc6f4
fix(gui): migrate to fixed jdwp library fork (#1471) 2022-10-06 19:47:15 +01:00
Skylot
603f3057eb
chore: update dependencies 2022-10-03 00:11:01 +03:00
5idereal
fa6fc1f871
fix(gui): update zh-TW translations (PR #1694) 2022-10-02 15:50:11 +01:00
The Cobra Chicken
9114821fb1
feat(debugger): add logcat output (#1411)(PR #1666)
* Adding logcatController class and writing adb / debugger panel information to the controller.

* Finished parsing logcat binary output and writing an arraylist containing all events.

* added highlighting of logcat output based on type.  Added timestamp parsing.

* Updated code to only get new log messages.

* Added additional code for select all

* Completed Check and uncheckall options.

* Changed log highlighting to log color.  Changed from JTextArea to JTextPane. Logcat pane will now autoscroll only if it is already scrolled to the bottom.  Debugger exit will now stop logcat as well.

* Moved labels into NLS rather than using hardcoded strings.

* Implemented the ability to autoselect attached process.  Changed the formatting of logcat messages.

* Moved labels into NLS rather than using hardcoded strings.

* updating to use info getter methods rather than directly accessing variable

* Added Logcat Pause Button

* Added Clear button

* Updated clear icon

* Cleaning warnings

* cleaning

* Changed behavior to only show logcat for debugged process to start with.

* cleaning

* cleaning

* cleaning

* applying spotless

* Fixing bug with switch

* fixed formatting issue

* add missing localization strings

Co-authored-by: green9317 <38409554+green9317@users.noreply.github.com>
Co-authored-by: TheCobraChicken <jeffmlitfi@gmail.com>
Co-authored-by: Skylot <skylot@gmail.com>
2022-09-08 15:18:55 +01:00
Skylot
1195582da8
feat(gui): option for search results count per page (#1652) 2022-09-05 20:07:02 +01:00
Skylot
258987b0ff
chore: update dependencies 2022-09-05 20:07:01 +01:00
Guilherme
a6a734c70d
fix(gui): update pt-BR translation (PR #1655) 2022-09-01 15:51:12 +01:00
Choiman1559
d6c23a2a9b
fix(gui): update Korean translation (PR #1650)
* update korean
* Update Messages_ko_KR.properties
* Restore missing empty line

Co-authored-by: skylot <118523+skylot@users.noreply.github.com>
2022-08-20 17:59:37 +01:00
Skylot
db028904d7
fix(gui): set legacy sort flag also for launch4j (#1628) 2022-08-20 17:37:26 +01:00
Skylot
63a571306c
refactor: load resource table nodes in one change (#1648) 2022-08-19 22:15:04 +01:00
Skylot
bc4db61e25
fix(gui): improve resources search (#1648) 2022-08-19 15:52:14 +01:00
Jan S
c7e6e28830
fix(gui): improve log viewer dialog (#1311)(PR #1649)
* [gui]: improve log viewer dialog

* use method from UiUtils to set window icons

Co-authored-by: Skylot <skylot@gmail.com>
2022-08-18 19:55:41 +01:00
Skylot
1d7b6fdb2c
fix(gui): additional checks on open search result (#1647) 2022-08-18 15:59:45 +01:00
Skylot
127f0ecf3f
fix(gui): disable actions if files not loaded (#1644) 2022-08-16 21:28:57 +01:00
Skylot
cf7767e702
fix(gui): handle null value in TableCellRenderer (#1642) 2022-08-16 20:48:23 +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