Commit Graph

89 Commits

Author SHA1 Message Date
vvb2060 6865652125 Fix process name in MagiskHide
close #3997
2021-03-24 04:43:45 -07:00
topjohnwu 336f1687c1 Be more careful with signals
Fix #4040
2021-03-18 03:28:02 -07:00
vvb2060 5113f6d375 Fix stop magiskhide 2021-01-23 18:13:15 -08:00
vvb2060 317336f771 Add isolated processes log 2021-01-23 17:31:11 -08:00
topjohnwu 13fbf397d1 Isolated processes might still be hide-able 2021-01-15 20:22:49 -08:00
topjohnwu e546884b08 Remove isolated process handling in ptrace
Impossible to achieve only through ptrace
2021-01-10 17:18:42 -08:00
topjohnwu b36e6d987d Reorganize MagiskHide code
Prepare for zygote injection hiding
2021-01-10 17:11:00 -08:00
topjohnwu 4060c2107c Add preliminary zygote code injection support
Prototyping the injection setup and a clean "self unloading" mechanism.
2021-01-06 22:21:17 -08:00
topjohnwu cd23d27048 Fix remote_write implementation 2021-01-06 21:56:29 -08:00
topjohnwu 5f2e22a259 Support remote function call with ptrace
End up not used for anything, but keep it for good
2021-01-02 21:29:45 -08:00
topjohnwu f9bde347bc Convert indentation to spaces
The tab war is lost
2020-12-30 22:11:24 -08:00
topjohnwu 79fa0d3a90 Hide selection improvements 2020-12-30 16:40:22 -08:00
topjohnwu 8e61080a4a Preparation for hiding isolated processes 2020-12-30 15:55:53 -08:00
topjohnwu 2b759b84b0 Properly reset string 2020-11-09 21:17:21 -08:00
topjohnwu 1e45c63ea5 Scan for zygote periodically
Fix #3417
2020-11-08 03:44:43 -08:00
topjohnwu b14a260827 Offset pid_set by 1
PID starts at 1, not 0
2020-11-08 02:12:35 -08:00
topjohnwu ade1597e03 Support hiding apps not installed in main user
Fix #2181, close #1840
2020-11-08 01:53:18 -08:00
topjohnwu 1e2f776b83 Move logging.hpp 2020-06-17 01:17:28 -07:00
topjohnwu bc6a14d30f Remove property ro.build.selinux 2020-05-17 15:01:37 -07:00
topjohnwu 97db49a57b Move vendor property manipulation to late start 2020-05-17 15:01:37 -07:00
topjohnwu a0998009c1 Small native code reorganization 2020-03-09 01:50:30 -07:00
topjohnwu 493068c073 Attempt to rescan zygote multiple times
Close #1654
2019-11-01 02:12:28 -04:00
topjohnwu 947dae4900 Rename classes and small adjustments 2019-09-25 23:55:39 -04:00
topjohnwu baaaf7d5de Fully match zygote/usap process names 2019-09-17 01:50:45 -04:00
topjohnwu ff3710de66 Minor code changes across all sources 2019-06-30 19:09:31 -07:00
topjohnwu 1e94517a72 MagiskHide is coming back strong 2019-06-27 00:28:34 -07:00
topjohnwu 4fcdcd9a8a Detect UID from data directories 2019-06-03 23:32:49 -07:00
topjohnwu a3a1aed723 Don't check zygote in busy loop 2019-05-27 16:27:19 -07:00
topjohnwu 8b7b05da68 Separate hide policies 2019-05-26 02:47:57 -07:00
topjohnwu 92400ebcab Process monitor minor tweaks 2019-05-26 02:35:12 -07:00
topjohnwu 6785dc4967 Disable verbose ptrace logging 2019-05-25 21:42:24 -07:00
topjohnwu dad20f6a2d Update zygote namespace
Close #1492
2019-05-25 18:30:43 -07:00
topjohnwu bb15671046 Sleep when there is nothing to wait 2019-05-25 18:17:25 -07:00
topjohnwu 21984fac8b Add API for running independent proc_monitor test 2019-05-25 16:08:53 -07:00
topjohnwu 515f346dcc Monitor app_process
Some stupid Samsung ROMs will spawn multiple zygote daemons. Since we
switched to ptrace based process monitoring, we have to know all zygote
processes to trace. This is an attempt to fix this issue.

Close #1272
2019-04-22 16:36:23 -04:00
topjohnwu 4e7dafb0e4 Use bitset instead of vector 2019-04-13 02:43:43 -04:00
topjohnwu dab32e1599 Use our own device nodes for mirrors 2019-04-08 01:40:04 -04:00
topjohnwu befe1a83b5 Use real system_root mirror 2019-04-07 14:22:45 -04:00
topjohnwu f2f4649ab0 Don't crash when encounter unexpected XML input 2019-03-12 17:19:29 -04:00
topjohnwu dce0b6c05a Always detach all child threads before leaving 2019-03-12 16:48:01 -04:00
topjohnwu a4a661bf34 Small code restructuring 2019-03-11 12:44:50 -04:00
topjohnwu 5111086637 Don't care if child threads were unknown 2019-03-10 01:46:32 -05:00
topjohnwu 20f204810e Use RAII to detach PIDs 2019-03-10 01:14:41 -05:00
topjohnwu 4581354e7a Allow zygote to execve
Allow zygote to execute other programs (such as dex2oat).
This fixes the bug that cause ART framework boot images failed to load
and result to extremely serious performance degradation.

Fix #1195
2019-03-09 22:58:05 -05:00
topjohnwu faf4d76388 Use large vector<bool> instead of set<pid>
vector<bool> uses bitsets, so we actually only use 12k memory to
store all 3 possible PID info tables. PID checkup will be now become
O(1) instead of O(logn).

P.S. The reason why we don't use unordered_map is because including it
will result in significant binary size increase (might be due to the
complex hash table STL implementation? I really don't know).
2019-03-09 22:28:43 -05:00
topjohnwu f24a5dfd45 More efficient xml parsing 2019-03-09 04:27:04 -05:00
topjohnwu 081074ad9d Better zygote process detection 2019-03-08 23:53:53 -05:00
topjohnwu 0204d05316 Remove Zygote notifier
Temporary trigger process scan on packages.xml updates, will find better methods
2019-03-08 03:35:17 -05:00
topjohnwu 82c864d57e Make zygote notifier more reliable 2019-03-06 18:22:04 -05:00
topjohnwu 4e53ebfe44 Use both package name and process name as key
Different packages could potentially use the same process name,
and they shouldn't conflict with each other.
2019-03-06 05:40:52 -05:00