Commit Graph

50 Commits

Author SHA1 Message Date
solohsu d5cda2bd98 Review the process of bootstrap
Fix potential bootloop when using dynamic module list mode.
2019-03-10 17:05:06 +08:00
solohsu b5b3280c9f Use a more stable symbol to deoptimize method
Now deoptMethod API supports all Android versions >= 6.0
2019-03-10 08:59:34 +08:00
solohsu d32b9b455c Disable obfuscation for easy debugging 2019-03-09 14:15:17 +08:00
solohsu 30e7dfd3d8 Wait GC to complete before each hook 2019-03-06 17:51:03 +08:00
C3C0 bb635d05be Perform explicit garbage collection before every backupAndHook
Gives GC a chance to do its work before every hook so there is less chance
it gets in the way in the middle of hooking procedure which does critical
memory block operations.
Attempts to fix GC related crashes such as those reported in #127
2019-03-06 08:53:08 +01:00
solohsu 4b38f4af5a Revert "Suspend all threads when doing hook stuffs to prevent crashes caused by GC"
This reverts commit 2ac5eb1
2019-03-05 22:59:30 +08:00
solohsu bb4fcffe20 Fix potential bootloop on OnePlus devices when using black/white list mode 2019-03-02 16:37:23 +08:00
solohsu 03ec9fa13f Reduce unnecessary IO when using compat mode 2019-03-02 01:07:42 +08:00
solohsu 628a3ce5da Fix compat mode not working correctly along with black/white list mode 2019-03-01 23:50:31 +08:00
solohsu 441106915f Deoptimize methods in framework to make their callees hookable 2019-02-28 21:39:30 +08:00
solohsu 37bf64a1ee Use native methods instead of parameters passing 2019-02-28 20:08:03 +08:00
solohsu 2ac5eb19c9 Suspend all threads when doing hook stuffs to prevent crashes caused by GC 2019-02-28 18:05:01 +08:00
solohsu 628d4e7ab0 Add an interface to deoptimize specified ArtMethod for Android Pie 2019-02-27 23:51:10 +08:00
solohsu f473834c7b Fix dynamic modules is always enabled when black/white list mode is on 2019-02-24 20:46:20 +08:00
solohsu a80eae7190 Deoptimize boot image on runtime start.
All framework methods should be hook-available now
2019-02-24 19:10:15 +08:00
solohsu 2686467bc9 Add logging 2019-02-24 19:09:15 +08:00
solohsu 15508e21c6 Add logging 2019-02-22 18:01:51 +08:00
solohsu 2f871cdbf6 Fix fatal error caused by not whitelisted files opened in zygote 2019-02-22 16:50:02 +08:00
solohsu 9e21bc9e19 Bring back new black/white list mode 2019-02-22 11:33:07 +08:00
solohsu 6eae86eb0f Support EdXposed Manager and Xposed Installer.
Priority: EdXposed Installer > EdXposed Manager > Xposed Installer
2019-02-22 00:15:43 +08:00
solohsu 56d8126202 Revert "Remove workaround for Application#attach"
This reverts commit bc878ec
2019-02-20 20:11:30 +08:00
solohsu 3fb6a478df Move config manager to Java world 2019-02-20 19:59:35 +08:00
solohsu 2b6a39bd1a Refactor dynamic modules feature 2019-02-20 15:00:19 +08:00
solohsu aed3318ee3 Remove global mode option and ensure bootstrap hooks installed for all zygotes 2019-02-20 14:23:55 +08:00
solohsu f417209b81 Revert "Save zygoteInit callbacks to invoke after process forked"
This reverts commit 8c4682e
2019-02-20 13:20:39 +08:00
solohsu 6254660b9b Prevent OnePlus Android P from bootloop 2019-02-20 03:05:46 +08:00
solohsu 8b0a9fc11e Uncomment logging codes 2019-02-20 03:05:46 +08:00
solohsu bc878ec424 Remove workaround for Application#attach 2019-02-17 04:45:59 +08:00
solohsu 8c4682e2b3 Save zygoteInit callbacks to invoke after process forked 2019-02-11 16:23:23 +08:00
solohsu 5a2cf52450 Fix wrong dex path when using compat mode in some cases 2019-02-10 18:22:09 +08:00
solohsu d9aeaf8112 Migrate to new EdXp Manager app 2019-02-05 16:46:41 +08:00
solohsu 90b2f72721 Revert "Migrate to new EdXposedManager installer app"
This reverts commit 0327664
2019-02-05 16:21:51 +08:00
solohsu 0327664f3e Migrate to new EdXposedManager installer app 2019-02-04 03:27:46 +08:00
solohsu 430192a021 Fixes #46: hooking failed for methods with returned value type of double 2019-01-30 16:52:16 +08:00
solohsu a0d713715d Add a debugging switch to enable instant modules loading 2019-01-29 23:40:59 +08:00
solohsu 0e88cee282 Add support for switching between compat mode and speed mode (the latter as default) 2019-01-29 18:33:18 +08:00
solohsu ce5c2bbe47 Add support for EdXp Manager 2019-01-27 19:35:33 +08:00
solohsu d57d602420 Fix memory issues when hooking too many methods in one process 2019-01-25 22:08:42 +08:00
solohsu 045104d1bf Add a temporary workaround to fix Application#attach(Context) hook not working 2019-01-25 00:42:39 +08:00
solohsu cda4ebba42 Borrow Xposed BlackList module app to implement our own black list in kinda tricky way 2019-01-23 01:12:08 +08:00
solohsu 1aa63822d9 Fix backup method not called in some cases 2019-01-23 00:53:04 +08:00
solohsu 69533ce5b6 Delete unused hookers 2019-01-23 00:51:01 +08:00
solohsu 12667f5bd2 Bootstrap hookings should only be done once 2019-01-22 17:09:12 +08:00
solohsu af4feada27 Fix modification of args array being ignored when calling "backup" method 2019-01-21 23:55:52 +08:00
solohsu c72ea8ab46 Add a switch for loading modules dynamically, default as false 2019-01-21 01:49:35 +08:00
solohsu fb4bdfcd56 Fix method "hook" not being called while methods replacement and backup have succeeded 2019-01-21 00:40:55 +08:00
solohsu 9435e9867b Do hooking before original handleBindApplication method is called 2019-01-21 00:40:41 +08:00
solohsu d0f49f9512 Remove unnecessary hooking entries 2019-01-21 00:40:31 +08:00
solohsu 1081a06eab Remove testing codes 2019-01-20 02:17:21 +08:00
solohsu 628ac9fd33 Migrate to GitHub 2019-01-19 01:54:14 +08:00