1. 01 Mar, 2019 4 commits
    • topjohnwu's avatar
      Limit process name match to cmdline only · b51feffe
      topjohnwu authored
      We are only interested in Zygote forked processed
      b51feffe
    • topjohnwu's avatar
      Application Component Granularity MagiskHide · b1afd554
      topjohnwu authored
      Before switching to the new MagiskHide implementation (APK inotify),
      logcat parsing provides us lots of information to target a process.
      We were targeting components so that apps with multi-processes
      can still be hidden properly.
      
      After switching to the new implementation, our granularity is limited
      to the UID of the process. This is especially dangerous since Android
      allow apps signed with the same signature to share UIDs, and many system
      apps utilize this for elevated permissions for some services.
      
      This commit introduces process name matching. We could not blanketly
      target an UID, so the workaround is to verify its process name before
      unmounting.
      
      The tricky thing is that any app developer is allowed to name the
      process of its component to whatever they want; there is no 'one
      rule to catch them all' to target a specific package. As a result,
      Magisk Manager is updated to scan through all components of all apps,
      and show different processes of the same app, each as a separate
      hide target in the list.
      
      The hide target database also has to be updated accordingly.
      Each hide target is now a <package name, process name> pair. The
      magiskhide CLI and Magisk Manager is updated to support this new
      target format.
      b1afd554
    • topjohnwu's avatar
      Upgrade dependencies · 885e3c57
      topjohnwu authored
      885e3c57
    • topjohnwu's avatar
      Only load config prop when needed · 05dd5f33
      topjohnwu authored
      Close #922
      05dd5f33
  2. 28 Feb, 2019 2 commits
  3. 27 Feb, 2019 5 commits
  4. 26 Feb, 2019 8 commits
  5. 25 Feb, 2019 4 commits
    • topjohnwu's avatar
      Introduce /data mirror · 8032bd0b
      topjohnwu authored
      Since we switched to imageless Magisk, module files are directly
      stored in /data. However, /data is mounted with nosuid, which also
      prevents SELinux typetransition to work (auto transition from one
      domain to another when executing files with specific context).
      This could cause serious issues when we are replacing system critical
      components (e.g. app_process for Xposed), because most of them
      are daemons that run in special process domains.
      
      This commit introduced /data mirror. Using similar mirroring technique
      we used for system and vendor, we mount another mirror that mounts
      /data without nosuid flag. All module files are then mounted from this
      mirror mountpoint instead of directly from /data.
      
      Close #1080
      8032bd0b
    • topjohnwu's avatar
      Always clone attribute from existing files to module files · 0c227f29
      topjohnwu authored
      This makes sure no weird permission/SELinux issues shall happen
      0c227f29
    • topjohnwu's avatar
      Some code adjustments · c9fa8118
      topjohnwu authored
      c9fa8118
    • topjohnwu's avatar
      Add compressed ramdisk support · 63b18246
      topjohnwu authored
      63b18246
  6. 24 Feb, 2019 9 commits
  7. 23 Feb, 2019 8 commits