MagiskHide is no more

This commit is contained in:
topjohnwu
2021-09-12 12:40:34 -07:00
parent fc6b02f607
commit 65b0ea792e
79 changed files with 433 additions and 486 deletions

View File

@@ -10,7 +10,7 @@ using namespace std;
using main_fun = int (*)(int, char *[]);
static main_fun applet_main[] = { su_client_main, resetprop_main, magiskhide_main, nullptr };
static main_fun applet_main[] = { su_client_main, resetprop_main, nullptr };
static int call_applet(int argc, char *argv[]) {
// Applets

View File

@@ -296,12 +296,12 @@ void post_fs_data(int client) {
if (getprop("persist.sys.safemode", true) == "1" || check_key_combo()) {
safe_mode = true;
// Disable all modules and magiskhide so next boot will be clean
// Disable all modules and denylist so next boot will be clean
disable_modules();
disable_hide();
disable_deny();
} else {
exec_common_scripts("post-fs-data");
check_enable_hide();
check_enforce_denylist();
handle_modules();
}
@@ -350,7 +350,7 @@ void boot_complete(int client) {
if (access(SECURE_DIR, F_OK) != 0)
xmkdir(SECURE_DIR, 0700);
check_enable_hide();
check_enforce_denylist();
if (!check_manager()) {
if (access(MANAGERAPK, F_OK) == 0) {

View File

@@ -44,8 +44,8 @@ static bool check_zygote(pid_t pid) {
static void handle_request_async(int client, int code, ucred cred) {
switch (code) {
case MAGISKHIDE:
magiskhide_handler(client, &cred);
case DENYLIST:
denylist_handler(client, &cred);
break;
case SUPERUSER:
su_daemon_handler(client, &cred);
@@ -92,7 +92,7 @@ static void handle_request_sync(int client, int code) {
setup_logfile(true);
break;
case STOP_DAEMON:
magiskhide_handler(-1, nullptr);
denylist_handler(-1, nullptr);
write_int(client, 0);
// Terminate the daemon!
exit(0);
@@ -124,7 +124,7 @@ static void handle_request(int client) {
case BOOT_COMPLETE:
case SQLITE_CMD:
case GET_PATH:
case MAGISKHIDE:
case DENYLIST:
case STOP_DAEMON:
if (!is_root) {
write_int(client, ROOT_REQUIRED);

View File

@@ -7,7 +7,7 @@
#include <socket.hpp>
#include <utils.hpp>
#define DB_VERSION 10
#define DB_VERSION 11
using namespace std;
@@ -112,7 +112,7 @@ db_settings::db_settings() {
data[ROOT_ACCESS] = ROOT_ACCESS_APPS_AND_ADB;
data[SU_MULTIUSER_MODE] = MULTIUSER_MODE_OWNER_ONLY;
data[SU_MNT_NS] = NAMESPACE_MODE_REQUESTER;
data[HIDE_CONFIG] = false;
data[DENYLIST_CONFIG] = false;
}
int db_settings::get_idx(string_view key) const {
@@ -174,12 +174,6 @@ static char *open_and_init_db(sqlite3 *&db) {
"(key TEXT, value TEXT, PRIMARY KEY(key))",
nullptr, nullptr, &err);
err_ret(err);
ver = 4;
upgrade = true;
}
if (ver < 5) {
sqlite3_exec(db, "UPDATE policies SET uid=uid%100000", nullptr, nullptr, &err);
err_ret(err);
/* Directly jump to version 6 */
ver = 6;
upgrade = true;
@@ -229,6 +223,17 @@ static char *open_and_init_db(sqlite3 *&db) {
ver = 10;
upgrade = true;
}
if (ver < 11) {
sqlite3_exec(db,
"DROP TABLE IF EXISTS hidelist;"
"CREATE TABLE IF NOT EXISTS denylist "
"(package_name TEXT, process TEXT, PRIMARY KEY(package_name, process));"
"DELETE FROM settings WHERE key='magiskhide';",
nullptr, nullptr, &err);
err_ret(err);
ver = 11;
upgrade = true;
}
if (upgrade) {
// Set version

View File

@@ -38,6 +38,7 @@ Advanced Options (Internal APIs):
--clone SRC DEST clone SRC to DEST
--sqlite SQL exec SQL commands to Magisk database
--path print Magisk tmpfs mount path
--denylist ARGS denylist config CLI
Available applets:
)EOF");
@@ -101,7 +102,9 @@ int magisk_main(int argc, char *argv[]) {
int fd = connect_daemon(true);
write_int(fd, BOOT_COMPLETE);
return read_int(fd);
} else if (argc >= 3 && argv[1] == "--sqlite"sv) {
} else if (argv[1] == "--denylist"sv) {
return denylist_cli(argc - 1, argv + 1);
}else if (argc >= 3 && argv[1] == "--sqlite"sv) {
int fd = connect_daemon();
write_int(fd, SQLITE_CMD);
write_string(fd, argv[2]);