From 9c1005ff0c4ebf5faf7046f554b22b1dbb93b203 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Tue, 18 Jul 2017 12:26:23 +0800 Subject: [PATCH] Update to Google CTS (2017.7.17) --- jni/magiskhide/hide_utils.c | 11 +++++++++++ jni/magiskhide/magiskhide.c | 7 +++---- jni/magiskhide/magiskhide.h | 1 + jni/magiskhide/proc_monitor.c | 1 + 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/jni/magiskhide/hide_utils.c b/jni/magiskhide/hide_utils.c index e409d5aff..0a169e0d0 100644 --- a/jni/magiskhide/hide_utils.c +++ b/jni/magiskhide/hide_utils.c @@ -58,6 +58,17 @@ void hide_sensitive_props() { } } +static void rm_magisk_prop(const char *name) { + if (strstr(name, "magisk")) { + deleteprop(name, 0); + } +} + +void clean_magisk_props() { + LOGD("hide_utils: Cleaning magisk props\n"); + getprop_all(rm_magisk_prop); +} + void relink_sbin() { struct stat st; if (stat("/sbin_orig", &st) == -1 && errno == ENOENT) { diff --git a/jni/magiskhide/magiskhide.c b/jni/magiskhide/magiskhide.c index 8da13ce32..5969010b1 100644 --- a/jni/magiskhide/magiskhide.c +++ b/jni/magiskhide/magiskhide.c @@ -55,10 +55,7 @@ void launch_magiskhide(int client) { hideEnabled = 1; LOGI("* Starting MagiskHide\n"); - if (client > 0) { - if (setprop(MAGISKHIDE_PROP, "1")) - goto error; - } + deleteprop(MAGISKHIDE_PROP, 1); hide_sensitive_props(); @@ -104,6 +101,8 @@ void stop_magiskhide(int client) { hideEnabled = 0; setprop(MAGISKHIDE_PROP, "0"); + // Remove without actually removing persist props + deleteprop(MAGISKHIDE_PROP, 0); pthread_kill(proc_monitor_thread, SIGUSR1); write_int(client, DAEMON_SUCCESS); diff --git a/jni/magiskhide/magiskhide.h b/jni/magiskhide/magiskhide.h index 8108891e7..78858dc80 100644 --- a/jni/magiskhide/magiskhide.h +++ b/jni/magiskhide/magiskhide.h @@ -13,6 +13,7 @@ void proc_monitor(); void manage_selinux(); void hide_sensitive_props(); void relink_sbin(); +void clean_magisk_props(); // List managements int add_list(char *proc); diff --git a/jni/magiskhide/proc_monitor.c b/jni/magiskhide/proc_monitor.c index c3d8d2335..e7ccd5b4a 100644 --- a/jni/magiskhide/proc_monitor.c +++ b/jni/magiskhide/proc_monitor.c @@ -91,6 +91,7 @@ static void hide_daemon(int pid) { manage_selinux(); relink_sbin(); + clean_magisk_props(); if (switch_mnt_ns(pid)) return;