Commit Graph

250 Commits

Author SHA1 Message Date
Skylot 7bd175220e fix: add correct type propagation for check-cast and move instructions (#401) 2019-02-26 19:56:09 +03:00
Skylot 4197365131 fix: improve fallback mode dump (add types, remove label after if) 2019-02-19 21:11:15 +03:00
Skylot 389caf1825 fix: improve filled array detection 2019-02-18 23:57:53 +03:00
Skylot 5cee498e1d Merge branch 'master' into type-inference-wip 2019-02-17 16:10:09 +03:00
Skylot db1b027da2 fix: improve bridge methods renaming (#397) 2019-02-16 13:07:13 +03:00
Skylot 7f4e641860 fix: skip duplicated block in complex if (#441) 2019-02-15 16:27:43 +03:00
Skylot b689efcc9f fix: forbid to change types for methods arguments 2019-02-11 19:21:26 +03:00
Skylot 89563b624b Merge branch 'master' into type-inference-wip 2019-02-11 15:02:52 +03:00
skylot 8c7140d6b8 fix: change not allowed access modifiers for methods (#387) (PR #439)
Fix visibility access modifies for methods (see discussions in #370 and #387):
    * all virtual methods become public
    * direct methods become private (instead constructors and static methods for now)
    * such modifications perform by default and can be disabled by the option in preferences (`--respect-bytecode-access-modifiers` in jadx-cli)
    * if changed to method added comment (`Access modifiers changed, original: private`)
2019-02-11 14:56:03 +03:00
Skylot c892395089 fix: redone finally extract 2019-02-11 14:50:16 +03:00
Skylot 4ce5cc8492 fix: use multi-variable type search algorithm if type propagation is failed 2019-02-04 18:34:36 +03:00
Skylot 9b091b7c08 fix: reimplement variable declaration visitor 2019-02-04 18:34:00 +03:00
Skylot 7b14e322d3 test: improve test checks 2019-02-04 16:22:50 +03:00
Skylot c705f8cbff Merge branch 'master' into type-inference-wip 2019-01-23 11:09:47 +03:00
Skylot aec986447e fix: support multi-exception catch blocks (#421) 2019-01-19 16:28:25 +03:00
Skylot da41efa3db fix: force rename by checks from RenameVisitor (#432) 2019-01-18 16:50:11 +03:00
Skylot 4e990ae2b0 fix: safe SSA variables replacement in filled new array instruction (#399) 2019-01-16 19:03:47 +03:00
Skylot 41ee57a6f7 Merge branch 'master' into type-inference-wip 2019-01-15 14:18:31 +03:00
Jan S 72b2663949 fix: ArrayIndexOutOfBoundsException in string concatenation visitor (#427)
* fix: ArrayIndexOutOfBoundsException in string concatenation visitor
* fix: typo in comment
* fix: StringBuilder chain processing created wrong code
* test: simple JUnit test cases added for testing StringBuilder chain processing (chains that can be and that can't be simplified)
2019-01-12 21:12:28 +03:00
Skylot 727285e3df chore: update dependencies and gradle 2019-01-12 19:07:37 +03:00
Skylot 43de744c88 fix: don't reject type update for generics 2018-12-26 21:41:36 +03:00
Skylot 76cf4f053f Merge branch 'master' into type-inference-wip 2018-12-25 18:28:00 +03:00
Skylot eadf046b2c chore: show try/catch processing problems in code comments 2018-12-25 17:29:36 +03:00
Skylot 6a1717a624 fix: use original call class for invoke inherited methods (#413) 2018-12-21 21:54:26 +03:00
Skylot 995cf2ad42 fix: use types with generics for overloaded method casts (#402) 2018-12-08 20:54:55 +03:00
Skylot b9fffa149b fix: allow override type with wider one only from debug info (#403) 2018-12-06 17:55:38 +03:00
Skylot 37071dbaf3 fix: use soft checks for objects and arrays in 'if' type listener (#401) 2018-12-06 13:22:34 +03:00
Skylot 95f9ab035d fix: inline constants in chained move instructions (#399) 2018-12-01 23:37:14 +03:00
Skylot 21e11c1d47 fix: implement new type inference approach 2018-12-01 23:37:04 +03:00
Skylot 6d59f77165 fix: process try/catch without move-exception instruction (#395) 2018-11-26 14:31:49 +03:00
Marcin Kamionowski 3a798cb21c fix: return type lost after type inference (#396) 2018-11-23 20:01:50 +03:00
Skylot 3815d30fc1 fix: force rename fields and methods with reserved names (#364) 2018-10-24 21:30:36 +03:00
Skylot f6f883b9d1 fix: change resource fields generations in R class (#308) 2018-09-08 14:33:33 +03:00
Skylot 7492889f4e core: prevent endless region processing (#340) 2018-08-23 23:16:36 +03:00
Skylot ecbb53aaea core: fixed 'this' attribute propagation for move insn (#345) 2018-08-22 21:38:43 +03:00
Skylot eaaeb2c843 core: fix return block split after try/catch (#295) 2018-08-20 21:36:19 +03:00
Skylot 0ae7c1efbf core: rename wrapped synthetic method (#336) 2018-08-19 19:15:31 +03:00
Skylot f9e7a29c08 core: fix sythetic constructor replacement (#334) 2018-08-16 23:30:53 +03:00
Felix Bergmann a502581640 Making the Classloader threadsafe 2018-07-30 09:31:44 +02:00
Skylot a959af087b core: fix replace target in if instruction (#317) 2018-07-19 15:27:35 +03:00
Skylot d20cd43a99 core: fix loop handling 2018-06-02 21:16:58 +03:00
Skylot 188bfd1a7e core: fix endless loop processing (#275) 2018-06-01 23:15:46 +03:00
Skylot 4f02864e12 core: fix variable declaration in else-if chain (#273) 2018-05-26 20:41:54 +03:00
Skylot 7562ec9e1a tests: add base test class for simplified apk debugging 2018-05-26 20:41:54 +03:00
Skylot 98ef7c39b7 core: fix synthetic constructor remove (#265) 2018-05-02 16:05:06 +03:00
Skylot 39093130a3 core: fix processing overriden methods in deobfuscator (#207) 2018-05-01 17:16:52 +03:00
Skylot a3b961e72f core: fix method deobfuscation (#241) 2018-04-22 20:18:33 +03:00
Skylot cb23b65797 core: fix variable names propagation (#219) 2018-04-08 19:24:39 +03:00
Skylot c25f918cc5 gui: fix some sonar warnings 2018-02-28 21:50:14 +03:00
Skylot 948f9456f5 core: change jadx args api for easier processing and validation 2018-02-10 21:32:51 +03:00