kernel: added susfs v1.5.3

This commit is contained in:
Rifat Azad
2024-12-24 07:34:30 +06:00
parent 1f58c7bf12
commit bdf81c0880
18 changed files with 842 additions and 58 deletions

View File

@@ -24,7 +24,7 @@
#define SU_PATH "/system/bin/su"
#define SH_PATH "/system/bin/sh"
extern void escape_to_root();
extern void ksu_escape_to_root();
static void __user *userspace_stack_buffer(const void *d, size_t len)
{
@@ -136,7 +136,7 @@ int ksu_handle_execveat_sucompat(int *fd, struct filename **filename_ptr,
pr_info("do_execveat_common su found\n");
memcpy((void *)filename->name, sh, sizeof(sh));
escape_to_root();
ksu_escape_to_root();
return 0;
}
@@ -163,7 +163,7 @@ int ksu_handle_execve_sucompat(int *fd, const char __user **filename_user,
pr_info("sys_execve su found\n");
*filename_user = ksud_user_path();
escape_to_root();
ksu_escape_to_root();
return 0;
}
@@ -365,3 +365,25 @@ void ksu_sucompat_exit()
unregister_kprobe(&pts_unix98_lookup_kp);
#endif
}
#ifdef CONFIG_KSU_SUSFS_SUS_SU
extern bool ksu_devpts_hook;
void ksu_susfs_disable_sus_su(void) {
enable_kprobe(&execve_kp);
enable_kprobe(&newfstatat_kp);
enable_kprobe(&faccessat_kp);
enable_kprobe(&pts_unix98_lookup_kp);
ksu_devpts_hook = false;
}
void ksu_susfs_enable_sus_su(void) {
disable_kprobe(&execve_kp);
disable_kprobe(&newfstatat_kp);
disable_kprobe(&faccessat_kp);
disable_kprobe(&pts_unix98_lookup_kp);
ksu_devpts_hook = true;
}
#endif