1. 08 Mar, 2019 13 commits
  2. 07 Mar, 2019 12 commits
  3. 06 Mar, 2019 8 commits
    • topjohnwu's avatar
      Make zygote notifier more reliable · 82c864d5
      topjohnwu authored
      82c864d5
    • topjohnwu's avatar
      Make db settings constructor more readable · 6226f875
      topjohnwu authored
      6226f875
    • topjohnwu's avatar
      Modernize database code (again) · 370015a8
      topjohnwu authored
      370015a8
    • topjohnwu's avatar
      Add MicroG DroidGuardHelper as target · 6597b7ad
      topjohnwu authored
      MicroG uses a different package to handle DroidGuard service (SafetyNet),
      but still uses the same com.google.android.gms.unstable process name.
      Thanks to the changes in 4e53ebfe, we can target both official GMS
      and MicroG SafetyNet services at the same time.
      6597b7ad
    • topjohnwu's avatar
      Use both package name and process name as key · 4e53ebfe
      topjohnwu authored
      Different packages could potentially use the same process name,
      and they shouldn't conflict with each other.
      4e53ebfe
    • topjohnwu's avatar
      Make parse prop file a util function · 04ef1e64
      topjohnwu authored
      04ef1e64
    • topjohnwu's avatar
      Switch to Zygote ptrace-ing · b278d07b
      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.
      b278d07b
    • topjohnwu's avatar
      Add zygote server notifier · 6c389607
      topjohnwu authored
      6c389607
  4. 05 Mar, 2019 1 commit
  5. 03 Mar, 2019 2 commits
  6. 02 Mar, 2019 4 commits