- 08 Mar, 2019 13 commits
-
-
topjohnwu authored
-
topjohnwu authored
Less confusion
-
topjohnwu authored
-
topjohnwu authored
Only show if user is already on canary channels
-
topjohnwu authored
-
topjohnwu authored
Temporary trigger process scan on packages.xml updates, will find better methods
-
topjohnwu authored
Close #1182
-
topjohnwu authored
-
topjohnwu authored
-
topjohnwu authored
-
topjohnwu authored
-
topjohnwu authored
-
topjohnwu authored
-
- 07 Mar, 2019 12 commits
- 06 Mar, 2019 8 commits
-
-
topjohnwu authored
-
topjohnwu authored
-
topjohnwu authored
-
topjohnwu authored
Different packages could potentially use the same process name, and they shouldn't conflict with each other.
-
topjohnwu authored
-
topjohnwu authored
No matter if we use the old, buggy, error prone am_proc_start monitoring, or the new APK inotify method, both methods rely on MagiskHide 'reacting' fast enough to hijack the process before any detection has been done. However, this is not reliable and practical. There are apps that utilize native libraries to start detects and register SIGCONT signal handlers to mitigate all existing MagiskHide process monitoring mechanism. So our only solution is to hijack an app BEFORE it is started. All Android apps' process is forked from zygote, so it is easily the target to be monitored. All forks will be notified, and subsequent thread spawning (Android apps are heaviliy multithreaded) from children are also closely monitored to find the earliest possible point to identify what the process will eventually be (before am_proc_bound). ptrace is extremely complicated and very difficult to get right. The current code is heaviliy tested on a stock Android 9.0 Pixel system, so in theory it should work fine on most devices, but more tests and potentially fixes are expected to follow this commit.
-
topjohnwu authored
-
- 05 Mar, 2019 1 commit
-
-
topjohnwu authored
-
- 03 Mar, 2019 2 commits
- 02 Mar, 2019 4 commits
-
-
linar10 authored
-
topjohnwu authored
Close #1150
-
topjohnwu authored
Shut down any UID matching process and resume if it turns out not to be our target. Since we will record every single process we have ever paused, this means that the same process will not be paused erroneously for another time. This is an optimization to hijack the app as soon as possible.
-
topjohnwu authored
-