Skylot
2da772df8e
fix: resolve some cases of switch in loop ( #876 )
2020-03-21 18:42:27 +00:00
Skylot
4cdad0e83e
fix: correct method exit blocks collection ( #876 )
2020-03-17 19:38:45 +00:00
Skylot
2f780da305
fix: remove enum methods after instructions check ( #884 )
2020-03-16 20:31:47 +00:00
Skylot
9d8066f4b8
fix: don't remove synthetic methods from enum ( #884 )
2020-03-16 19:06:52 +00:00
Bendegúz Ács
3c7be5e9be
fix: use super instead this when super member is shadowed (PR #878 )
...
* Added failing test for super member shadowing.
* Fixed new test containing incorrect variable names.
* Implemented marking super fields used in a subclass with super keyword.
* Renamed member variable in the example to reflect smali and test.
* Fixed formatting and imports.
2020-03-07 19:52:21 +03:00
Skylot
89dbae8f8e
fix: resolve NPE while compare outer generic types
2020-02-29 19:55:16 +00:00
Skylot
5eec8f754d
fix: class resolving issues ( #867 )
2020-02-29 19:24:01 +00:00
Skylot
49a82c8388
fix: method info cache error ( #868 )
2020-02-29 19:22:18 +00:00
Skylot
26bad4a1cd
fix: replace constants for arrays in annotations ( #831 )
2020-02-29 18:55:30 +00:00
Skylot
fa0a38d3aa
fix: don't use OS specific new line chars ( #861 )
2020-02-23 15:37:07 +00:00
Jan S
b56fd4d29a
chore: add inlined class name as comment (PR #865 )
...
* chore: add inlined class name as comment
* chore: adapt unit test for inlined class name as comment
2020-02-23 17:06:10 +03:00
Skylot
e444ecb2c7
fix: improve wildcard types compare ( #857 )
2020-02-17 19:31:13 +00:00
Skylot
1336c47d18
fix: speed up switch processing by skip not relevant exits ( #846 )
2020-02-16 15:50:02 +00:00
Skylot
519a74e8d2
fix: improve type inference for arrays ( #837 )
2020-02-16 17:12:31 +03:00
Skylot
dea7714ef3
feat: add methods information from standard library, improve generics and varargs restore ( #836 )
2020-02-16 17:12:31 +03:00
Skylot
57c28c61e0
fix: restore enum for several blocks in class init method
2020-02-14 18:08:37 +00:00
Skylot
87320348dd
chore: update all dependencies and gradle
2020-02-12 20:43:27 +00:00
Skylot
fcb70e69c1
fix: don't print commented case value if it is an instruction ( #850 )
2020-02-11 22:08:14 +03:00
Jan S
4859629850
fix: record inlined classes and generate Smali code for them (PR #851 , #848 )
...
* fix: additionally show smali code of all inlined classes (recursively)
* variable name corrected
2020-02-11 22:06:07 +03:00
Jan S
bd0d248fd0
fix: additionally show smali code of all inner classes (recursively) (PR #849 , #848 )
2020-02-10 22:00:32 +03:00
Skylot
c24a3edb44
fix: inline assignment instruction from same block ( #820 )
2020-02-09 14:40:27 +00:00
Skylot
d0f197ea3d
fix: shrink code if region maker add FORCE_ASSIGN_INLINE to insn ( #845 )
2020-02-09 14:36:59 +00:00
Skylot
5502d93cd5
fix: additional checks before insert move to help type inference ( #843 )
2020-02-04 18:45:27 +00:00
Yaroslav Yadrov
492a3f6928
feat(deobf): add classname parsing for Kotlin metadata (PR #842 , #758 )
2020-02-02 17:08:29 +03:00
Skylot
1ce8fa8bdd
fix: don't apply types if search failed ( #840 )
2020-01-28 20:07:58 +00:00
Skylot
1bb90233b9
test: NYI tests for #836 and #837
2020-01-27 19:23:35 +00:00
Skylot
49ce92f540
fix: remove move instructions with unused result ( #835 )
2020-01-24 17:37:53 +00:00
Skylot
2107da2e1a
fix: improve 'out' block detection in switch ( #826 )
2020-01-23 18:58:17 +00:00
Skylot
62ca30bbc6
fix: additional patterns to restore enum classes ( #830 )
2020-01-19 11:12:23 +00:00
Skylot
5e7388f686
refactor: fix several issues reported by sonar
2020-01-16 12:16:32 +03:00
Skylot
2921c66834
fix: replace constants inside annotations ( #831 )
2020-01-14 19:52:03 +00:00
Skylot
7bbb083c36
refactor: small changes to switch region and region debug print
2020-01-13 19:27:52 +00:00
Skylot
531650c9f2
refactor: allow to change temp dir using system property JADX_TMP_DIR
2020-01-13 15:32:32 +03:00
Skylot
f3098741c3
test: switch with fallthrough cases ( #826 )
2020-01-08 14:26:40 +00:00
Jan S
c97e504686
fix: additionally show smali code of inner classes (PR #824 )
2020-01-05 12:46:07 +03:00
Skylot
02213802c5
fix: make correct replacement for synthetic constructor ( #808 )
2019-12-28 08:42:39 +00:00
Skylot
f1e229193c
fix: resolve exception on assign inline
2019-12-27 21:20:14 +03:00
Skylot
04e309aeff
fix: additional checks for 'if' blocks inside loops ( #809 )
2019-12-27 21:20:14 +03:00
Skylot
af6f8b5391
fix(gui): resolve exceptions during index ( #812 )
2019-12-23 22:39:06 +03:00
Skylot
0c55ab9001
fix: resolve class cast exception introduced in CodeWriter refactoring ( #810 )
2019-12-22 16:19:47 +00:00
Skylot
7f8d03d192
style: fix some sonar and compiler warnings
2019-12-21 15:37:25 +03:00
Skylot
c64ffde11f
refactor: use ICodeInfo interface instead CodeWriter
2019-12-21 12:36:54 +00:00
Skylot
f5d1f288d0
fix: don't inline constants in synchronized statement ( #799 )
2019-12-15 12:04:24 +00:00
Skylot
1c6e51f8b2
fix: allow to regenerate class code ( #791 )
2019-12-13 18:37:10 +00:00
Soul Trace
ef5da49bc0
fix(xml): reset nsMap in parse method (PR #798 #796 )
...
Fixes injection of xmlns: attributes from other files (#796 )
2019-12-13 21:16:08 +03:00
Skylot
7545625af4
test: add NYI test for empty finally block ( #789 )
2019-12-10 22:10:27 +03:00
Soul Trace
e3055b95f6
feat(gui): support for renaming methods, classes and fields (PR #794 #791 )
...
* Add getRealFullName() to ClassNode and JavaClass and searchJavaClassByRealName() to JadxWrapper
Those methods is like getFullName() and searchJavaClassByClassName(), but for class names without aliases.
It is necessary for renaming classes/methods/fields.
* core: Make getFieldNode(), getMethodNode() and getRoot() public
This is necessary for renaming functionality
* jadx-gui: Add Rename popup menu entry (renames classes, methods and fields)
It allows user to rename classes, methods and fields.
It updates deobfuscation map and reload file.
This may be suboptimal, and maybe some RenameVisitor should be added.
Deobfuscation should be enabled in order to allow this.
2019-12-10 22:08:27 +03:00
Soul Trace
78eed8629c
feat(gui): reopened tabs on file reload (PR #793 #792 )
...
* Add getRealFullName() to ClassNode and JavaClass and searchJavaClassByRealName() to JadxWrapper
Those methods is like getFullName() and searchJavaClassByClassName(), but for class names without aliases.
It is necessary for renaming classes/methods/fields.
* MainWindow: Try to restore open tabs on deobfuscation toggle
Restore open tabs if possible when user toggles deobfuscation mode.
Try to scroll to the position before toggling deobfuscation mode (may be not exact cause of the comments).
2019-12-10 21:41:57 +03:00
Skylot
d1a6841c20
fix: inline assign in complex conditions ( #699 )
2019-11-30 16:32:29 +00:00
Skylot
600842a1a6
fix: resolve error if input file don't has extension
2019-11-30 16:22:09 +00:00