Remove property ro.build.selinux

This commit is contained in:
topjohnwu 2020-05-17 15:01:20 -07:00
parent 97db49a57b
commit bc6a14d30f
2 changed files with 18 additions and 18 deletions

View File

@ -12,13 +12,13 @@ using namespace std;
static const char *prop_key[] = static const char *prop_key[] =
{ "ro.boot.vbmeta.device_state", "ro.boot.verifiedbootstate", "ro.boot.flash.locked", { "ro.boot.vbmeta.device_state", "ro.boot.verifiedbootstate", "ro.boot.flash.locked",
"ro.boot.veritymode", "ro.boot.warranty_bit", "ro.warranty_bit", "ro.debuggable", "ro.boot.veritymode", "ro.boot.warranty_bit", "ro.warranty_bit", "ro.debuggable",
"ro.secure", "ro.build.type", "ro.build.tags", "ro.build.selinux", "ro.secure", "ro.build.type", "ro.build.tags",
"ro.vendor.boot.warranty_bit", "ro.vendor.warranty_bit", nullptr }; "ro.vendor.boot.warranty_bit", "ro.vendor.warranty_bit", nullptr };
static const char *prop_val[] = static const char *prop_val[] =
{ "locked", "green", "1", { "locked", "green", "1",
"enforcing", "0", "0", "0", "enforcing", "0", "0", "0",
"1", "user", "release-keys", "0", "1", "user", "release-keys",
"0", "0", nullptr }; "0", "0", nullptr };
static const char *late_prop_key[] = static const char *late_prop_key[] =
@ -38,22 +38,23 @@ void hide_sensitive_props() {
// Hide that we booted from recovery when magisk is in recovery mode // Hide that we booted from recovery when magisk is in recovery mode
auto bootmode = getprop("ro.bootmode"); auto bootmode = getprop("ro.bootmode");
if (!bootmode.empty() && str_contains(bootmode, "recovery")) { if (!bootmode.empty() && str_contains(bootmode, "recovery"))
setprop("ro.bootmode", "unknown", false); setprop("ro.bootmode", "unknown", false);
}
bootmode = getprop("ro.boot.mode"); bootmode = getprop("ro.boot.mode");
if (!bootmode.empty() && str_contains(bootmode, "recovery")) { if (!bootmode.empty() && str_contains(bootmode, "recovery"))
setprop("ro.boot.mode", "unknown", false); setprop("ro.boot.mode", "unknown", false);
}
// Xiaomi cross region flash // Xiaomi cross region flash
auto hwc = getprop("ro.boot.hwc"); auto hwc = getprop("ro.boot.hwc");
if (!hwc.empty() && str_contains(hwc, "CN")) { if (!hwc.empty() && str_contains(hwc, "CN"))
setprop("ro.boot.hwc", "GLOBAL", false); setprop("ro.boot.hwc", "GLOBAL", false);
}
auto hwcountry = getprop("ro.boot.hwcountry"); auto hwcountry = getprop("ro.boot.hwcountry");
if (!hwcountry.empty() && str_contains(hwcountry, "China")) { if (!hwcountry.empty() && str_contains(hwcountry, "China"))
setprop("ro.boot.hwcountry", "GLOBAL", false); setprop("ro.boot.hwcountry", "GLOBAL", false);
}
auto selinux = getprop("ro.build.selinux");
if (!selinux.empty)
delprop("ro.build.selinux");
} }
void hide_late_sensitive_props() { void hide_late_sensitive_props() {
@ -64,24 +65,24 @@ void hide_late_sensitive_props() {
if (!value.empty() && value != late_prop_val[i]) if (!value.empty() && value != late_prop_val[i])
setprop(prop_key[i], late_prop_val[i], false); setprop(prop_key[i], late_prop_val[i], false);
} }
auto bootmode = getprop("vendor.boot.mode"); auto bootmode = getprop("vendor.boot.mode");
if (!bootmode.empty() && str_contains(bootmode, "recovery")) { if (!bootmode.empty() && str_contains(bootmode, "recovery"))
setprop("vendor.boot.mode", "unknown", false); setprop("vendor.boot.mode", "unknown", false);
}
} }
static inline void lazy_unmount(const char* mountpoint) { static void lazy_unmount(const char* mountpoint) {
if (umount2(mountpoint, MNT_DETACH) != -1) if (umount2(mountpoint, MNT_DETACH) != -1)
LOGD("hide_policy: Unmounted (%s)\n", mountpoint); LOGD("hide_policy: Unmounted (%s)\n", mountpoint);
} }
void hide_daemon(int pid) { void hide_daemon(int pid) {
run_finally fin([=]() -> void { if (fork_dont_care() == 0) {
hide_unmount(pid);
// Send resume signal // Send resume signal
kill(pid, SIGCONT); kill(pid, SIGCONT);
_exit(0); _exit(0);
}); }
hide_unmount(pid);
} }
#define TMPFS_MNT(dir) (mentry->mnt_type == "tmpfs"sv && \ #define TMPFS_MNT(dir) (mentry->mnt_type == "tmpfs"sv && \

View File

@ -247,8 +247,7 @@ static bool check_pid(int pid) {
PTRACE_LOG("target found\n"); PTRACE_LOG("target found\n");
LOGI("proc_monitor: [%s] PID=[%d] UID=[%d]\n", cmdline, pid, uid); LOGI("proc_monitor: [%s] PID=[%d] UID=[%d]\n", cmdline, pid, uid);
detach_pid(pid, SIGSTOP); detach_pid(pid, SIGSTOP);
if (fork_dont_care() == 0) hide_daemon(pid);
hide_daemon(pid);
return true; return true;
} }
} }