Commit Graph

849 Commits

Author SHA1 Message Date
Skylot dd13edf262 fix: don't remove empty default constructor if other constructors exists (#460) 2019-03-02 17:31:12 +03:00
Skylot 653bb2ac10 fix: hide first argument instead remove for constructor in inner class 2019-03-02 16:02:17 +03:00
Skylot cbdc2496fc fix: check block before insert additional move instruction for type inference 2019-03-01 23:36:26 +03:00
Skylot 3de04cb638 refactor: use flags to mark registers with immutable type 2019-02-28 16:32:11 +03:00
Skylot 68d074aecf fix: change type update collection to produce deterministic results 2019-02-27 19:03:05 +03:00
Skylot 0df5aa80fe refactor(cli): add missing generic for JCommanderWrapper 2019-02-26 20:12:40 +03:00
Skylot 28bcad202a refactor: resolve deprecation warning for TypeGen.literalToString method 2019-02-26 20:09:05 +03:00
Skylot 16d8d41baf Merge branch 'master' into type-inference-wip
# Conflicts:
#	jadx-core/src/main/java/jadx/core/dex/visitors/blocksmaker/BlockSplitter.java
#	jadx-core/src/main/java/jadx/core/dex/visitors/ssa/EliminatePhiNodes.java
2019-02-26 20:04:35 +03:00
Skylot 7bd175220e fix: add correct type propagation for check-cast and move instructions (#401) 2019-02-26 19:56:09 +03:00
Skylot 28d348b364 fix: additional checks for synthetic methods remove, rename and inline (#452) 2019-02-22 17:50:31 +03:00
Jan S 91691fbd6a fix: allow APK files without code (no contained dex files) (PR #455) 2019-02-22 17:45:21 +03:00
Skylot 9856b6d3c5 fix: remove invalid chars from class names (#453) 2019-02-21 19:14:55 +03:00
Skylot e1ca290424 fix: avoid ConcurrentModificationException in EliminatePhiNodes pass 2019-02-21 15:29:38 +03:00
Skylot 0fa19fb0ac fix: remove unreachable blocks (#451) 2019-02-21 15:24:18 +03:00
Skylot ab7b6fc29f refactor: don't use additional class for jadx warnings 2019-02-20 14:43:59 +03:00
Skylot f8acc31b0b fix(gui): remove output directories from persistent settings (#447) 2019-02-20 10:40:39 +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 bcadc28207 fix(gui): use system font as default instead bundled Hack (#442, #445) 2019-02-17 19:01:03 +03:00
Skylot 7e95758a6e fix(gui): add scroll to preferences dialog 2019-02-17 18:48:27 +03:00
Skylot d44dd0de84 fix(gui): show current font in preferences 2019-02-17 18:46:05 +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 710245d597 fix: replace recursive analysis algorithms with iterations to avoid StackOverflow on big methods (#441) 2019-02-14 21:17:31 +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`)
v0.9.0
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 21acaa8d37 fix: resolve mix up in SKIP and DONT_GENERATE flags 2019-02-04 16:22:11 +03:00
Jan S bf42b97580 build: compile for Java 8; enable G1GC on Java 8 (PR #436) 2019-01-23 17:34:03 +03:00
Skylot c705f8cbff Merge branch 'master' into type-inference-wip 2019-01-23 11:09:47 +03:00
skylot f8c0449d4e feat(gui): add icons to jadx-gui (#420) (PR #428) 2019-01-23 11:00:24 +03:00
Skylot b28eaa1a94 fix(gui): add synchronization to SimpleIndex class (#435) 2019-01-23 10:06:13 +03:00
Skylot be509c7104 fix(gui): use editor font in search node column 2019-01-23 10:05:00 +03:00
Skylot 2931617202 fix(gui): use editor font in files tree and fix bundled font loading 2019-01-23 09:39:57 +03:00
Skylot 82d0d622a8 fix: refactor, improve performance and fix some issues in resource processing
fix(gui): instead gradle export was executed normal export
fix(gui): content of some resource files was not shown
perf: direct resource files saving without full length buffer in memory
perf(gui): line numbers will be disabled on big files due to performance issue
feat(gui): click on HeapUsageBar will run GC and update memory info
feat(gui): add more file types for syntax highlights
refactor: ResContainer class changed for support more types of data (added link to resource file)
2019-01-22 18:51:09 +03:00
Skylot bcaca781b1 style(gui): reformat code and fix some warnings 2019-01-21 13:47:05 +03:00
Jan S ffedaea505 fix(gui): limit the spare memory to max. 512MiB (#434) 2019-01-21 09:52:00 +03:00
Skylot aec986447e fix: support multi-exception catch blocks (#421) 2019-01-19 16:28:25 +03:00
Skylot b0e3cfedf4 fix: update apksig library to latest version (#431) 2019-01-19 09:49:20 +03:00
Skylot da41efa3db fix: force rename by checks from RenameVisitor (#432) 2019-01-18 16:50:11 +03:00
Jan S 9e0cd2e14e fix(gui): add synchronizations to search index creation (#433)
* fix: unsynchronized search index creation (code usage) results in ArrayIndexOutOfBoundsException and stuck at 99%

* fix: use computeIfAbsent instead of synchronized block
2019-01-18 16:47:44 +03:00
Jan S d1af751226 feat(gui): APK signature check v1/v2 using the apksig library from Google (#431)
* feat: APK signature check v1/v2 using the apksig library from Google
* fix: proposed changes implemented
2019-01-18 12:26:22 +03:00
Skylot d8b39c2698 Merge branch 'master' into type-inference-wip 2019-01-16 22:29:39 +03:00
Skylot 618b014b3d fix: rename method wrapped by synthetic only from same class (#430) 2019-01-16 22:27:50 +03:00
Skylot 4e990ae2b0 fix: safe SSA variables replacement in filled new array instruction (#399) 2019-01-16 19:03:47 +03:00