Skylot
dfdc14ea86
feat: rename without deobfuscation, save renames in project ( #1076 #1022 )
2021-10-26 20:23:21 +01:00
Skylot
48252c3c3d
feat: add option for code comments levels ( #998 )
2021-10-19 16:47:20 +01:00
Skylot
358cddd9a7
fix: support dynamic strings concat ( #1250 )
2021-10-17 19:43:51 +01:00
Skylot
418df2fd93
tests: allow to set target java version, use D8 as fallback converter
2021-10-17 19:43:51 +01:00
Skylot
cd153c76f2
feat: add raung input plugin, use raung in tests
2021-10-12 19:17:04 +01:00
Skylot
ea0795c8a9
fix: restore fields order if init use other fields ( #1235 )
2021-09-15 22:27:25 +01:00
Skylot
8969d11a22
fix: restore fields order on init code move ( #678 )
2021-09-15 21:55:24 +01:00
Skylot
eedf32d197
fix: support nested try/finally blocks ( #1249 )
2021-09-09 18:44:24 +01:00
Skylot
a62de839be
fix: handle unbound type variables in type inference ( #1237 )
2021-08-24 13:54:32 +01:00
Skylot
9ea3f0f240
fix: support 'swap' and 'wide' opcodes, other fixes for java-input
2021-08-20 20:59:30 +03:00
Skylot
55bb20cf29
fix: prevent collisions in method ids for java-input
2021-08-13 23:07:33 +03:00
Skylot
7c0671c81b
feat: rewrite try-catch processing
2021-08-13 23:07:33 +03:00
Skylot
1efdcd7b10
feat: input plugin for java bytecode
2021-08-13 23:07:29 +03:00
Jan S
b63e3aca00
feat: add origin file info (code comment for classes, tooltip in tree) (PR #1219 )
...
* chore: make escapeHtml also replace close angle brackets
* chore: if multiple files are loaded, show their path as tooltip
* feat: add comment on classes that contains the dex file name it has been loaded from
* fix: expected line numbers in unit test fixed
* fix: delete comments from generated code as it may contain a colon
* chore: comment removing wasn't able to handle Linux paths with slash
2021-08-01 18:15:05 +03:00
Skylot
fef3e21c70
fix: resolve type vars from outer class ( #1192 )
2021-06-19 13:44:15 +01:00
Skylot
f3d76c433a
fix: prevent StackOverflowError in MarkFinallyVisitor ( #1191 )
2021-06-18 17:34:21 +01:00
nitram84
31d5715723
fix: prevent duplicated override annotations and minor optimization ( #1188 )(PR #1190 )
...
* Handle explicit override annotations
* Skip override checks for private methods
2021-06-18 00:40:31 +03:00
Skylot
0541748e5f
fix: resolve type variables from super types ( #870 )
2021-06-04 19:31:47 +01:00
Skylot
cf1d9e8372
fix: allow to reuse enum fields in static fields ( #1019 )
2021-06-01 20:57:48 +01:00
Skylot
b096d8869e
fix: support branched object construction ( #1019 )
2021-06-01 15:58:08 +01:00
Skylot
2acc14b04a
fix: resolve generic type vars for instance field get instruction ( #918 )
2021-05-30 10:18:35 +01:00
Skylot
1f1efb0e17
fix: allow local variables have name same as instance fields ( #1183 )
2021-05-29 20:18:49 +01:00
Skylot
c52c659b94
fix: correct inline flag for variables used in anonymous classes ( #1154 )
2021-04-18 19:10:59 +01:00
skylot
4e5fac4b88
feat(gui): add code comments ( #359 ) (PR #1127 )
...
* feat(gui): add code comments (#359 )
* refactor: replace instanceof search with method dispatch in RegionGen
* fix: various bug fixes and improvements for code comments
* fix(gui): support multiline code comments
* fix: resolve code differences after class reload
* fix(gui): add search for comments, allow search in active tab only
* fix: correct search for inner classes
* fix(gui): run full index on search dialog open
2021-03-04 17:45:48 +03:00
Skylot
7a14aaa17e
fix: resolve variable name shadowing in anonymous classes ( #1124 )
2021-03-02 18:43:52 +00:00
Skylot
3a69ac23c0
fix: restore enums with removed fields ( #926 )
2021-02-23 16:59:33 +00:00
Skylot
b873c6ae4d
refactor: use interface for CodeWriter
...
Details:
- add simple and annotated code writers to allow
skip code annotations processing in jadx-cli and other places
- add annotated code info to use only than needed
- allow to set provider for codewriter in JadxArgs
- add JadxArgs argument to constructor to allow change output
- add cli option to insert debug line numbers as code comments
(example for previous change)
2021-02-21 17:34:33 +03:00
Skylot
69574918b5
fix: allow constructor invoke as lambda
2021-02-02 18:27:36 +00:00
Skylot
f6783e8f5e
fix: implement 'copy' and 'isSame' methods in InvokeCustomNode
2021-02-02 16:27:45 +00:00
Skylot
22fa132110
fix: support instance invoke for 'invoke-custom' instruction ( #384 )
2021-02-01 19:02:31 +00:00
Skylot
5a30fc0300
fix: improve const inlining in finally blocks ( #917 )
2021-01-30 19:44:38 +03:00
Fi5t
4217aab933
fix: new gradle export ( #1095 ) (PR #1097 )
...
* Update export of gradle project
* Fix hardcoded index
* Add versionCode and versionName to the export template
2021-01-26 21:31:12 +03:00
Skylot
3dfaec5033
feat: initial support for 'invoke-custom' instruction ( #384 )
2021-01-14 20:15:23 +00:00
Skylot
8dd76420c8
fix(deobf): complete disable rename if all rename options unchecked ( #1076 )
2021-01-02 22:22:45 +03:00
Skylot
3bbb6b1058
fix: rename all related overridden methods in deobf map file ( #1058 )
2020-12-21 14:47:57 +00:00
Skylot
3a4895b21c
test: check code after reload
2020-12-21 17:38:29 +03:00
Skylot
2ca3c65300
fix(deobf): don't rename unresolved or classpath overridden methods
...
Change details:
- use common code for process override methods in deobfuscator (move OverrideMethodVisitor to pre-decompile stage)
- add all public methods to jadx class set to allow search of override base method
- add don't rename flag if override hierarchy have unresolved methods
2020-12-19 18:07:51 +03:00
Jonas Konrad
80a879bddf
fix: properly transform array creation with constant field length to filled-array (PR #1054 )
2020-12-16 19:12:11 +03:00
Skylot
13c17a000a
fix: force code inline after new array creation resugar ( #1048 )
2020-12-12 20:12:42 +00:00
Jonas Konrad
96dea75bc8
fix: preserve original method details in inlined invocation (PR #1049 )
2020-12-12 22:08:50 +03:00
Jonas Konrad
2f5dd171d0
fix: do not remove method start block when it is referenced from dead code (PR #1044 )
2020-12-09 23:19:21 +03:00
Skylot
e7598d4340
fix: don't add region on exit block ( #1040 )
2020-12-03 21:45:21 +03:00
Skylot
76d0a39a0f
fix: handle empty loop body ( #1040 )
2020-12-03 21:45:21 +03:00
Jonas Konrad
3f25f072c6
fix: properly traverse methods with synchronize blocks that have no clear exit (PR #1041 )
2020-12-03 17:15:49 +03:00
Jonas Konrad
5c75f249c7
fix: do not count nop instructions when considering methods for fallback mode printing ( #1038 ) (PR #1039 )
2020-12-01 13:39:48 +03:00
Jonas Konrad
faa205a486
fix: process exception handler when handler block is start of a new try block (PR #1036 )
2020-11-30 15:46:18 +03:00
Skylot
edbe6015f6
fix(res): unescape new line symbol in string resources ( #1030 )
2020-11-23 16:35:05 +00:00
Skylot
7396c7595f
fix: resolve type variables in invoke from arg types
2020-11-22 18:41:38 +00:00
Skylot
eada4b0fc3
fix: don't add 'default' for static methods in interfaces
2020-11-21 23:04:55 +03:00
Skylot
4bc6007a4d
fix: error loading resource map file from bundled jar ( #1020 )
2020-11-19 16:09:12 +03:00