• 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
Name
Last commit
Last update
..
drawable Loading commit data...
drawable-anydpi-v21 Loading commit data...
drawable-anydpi-v26 Loading commit data...
drawable-hdpi Loading commit data...
drawable-mdpi Loading commit data...
drawable-nodpi Loading commit data...
drawable-v26 Loading commit data...
drawable-xhdpi Loading commit data...
drawable-xxhdpi Loading commit data...
drawable-xxxhdpi Loading commit data...
layout Loading commit data...
menu Loading commit data...
raw Loading commit data...
values Loading commit data...
values-ar Loading commit data...
values-az Loading commit data...
values-bg Loading commit data...
values-ca Loading commit data...
values-cs Loading commit data...
values-de Loading commit data...
values-el Loading commit data...
values-es Loading commit data...
values-et Loading commit data...
values-fr Loading commit data...
values-hr Loading commit data...
values-in Loading commit data...
values-it Loading commit data...
values-ja Loading commit data...
values-ko Loading commit data...
values-lt Loading commit data...
values-nb Loading commit data...
values-nl Loading commit data...
values-pl Loading commit data...
values-pt-rBR Loading commit data...
values-pt-rPT Loading commit data...
values-ro Loading commit data...
values-ru Loading commit data...
values-sk Loading commit data...
values-sr Loading commit data...
values-sv Loading commit data...
values-sw600dp Loading commit data...
values-th Loading commit data...
values-tr Loading commit data...
values-uk Loading commit data...
values-v19 Loading commit data...
values-v21 Loading commit data...
values-vi Loading commit data...
values-zh-rCN Loading commit data...
values-zh-rTW Loading commit data...
xml Loading commit data...