userspace: add susfs lib

manager: completed susfs support check prctl syscall
This commit is contained in:
Rifat Azad
2024-12-22 08:49:45 +06:00
parent 74ddca2e11
commit 3febc5ae79
11 changed files with 76 additions and 52 deletions
-17
View File
@@ -10,23 +10,6 @@
#define LOG_TAG "KernelSU-Next"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
// TODO: Try fixing Prctl method to get CMD_SUSFS_SHOW_VERSION 0x555e1
extern "C"
JNIEXPORT jstring JNICALL
Java_com_rifsxd_ksunext_Natives_getSusfsVersion(JNIEnv *env, jobject) {
int error = -1;
char susfsVersion[16];
error = prctl(KERNEL_SU_OPTION, CMD_SUSFS_SHOW_VERSION, susfsVersion, NULL, &error);
if (!error) {
return env->NewStringUTF(susfsVersion);
LOGD("susfs: found");
} else {
LOGD("susfs: not foung");
return env->NewStringUTF("Error fetching version");
}
}
extern "C"
JNIEXPORT jboolean JNICALL
Java_com_rifsxd_ksunext_Natives_becomeManager(JNIEnv *env, jobject, jstring pkg) {
+2
View File
@@ -10,6 +10,8 @@
#include "ksu.h"
#define KERNEL_SU_OPTION 0xDEADBEEF
#define CMD_GRANT_ROOT 0
#define CMD_BECOME_MANAGER 1
-4
View File
@@ -7,10 +7,6 @@
#include <linux/capability.h>
#define KERNEL_SU_OPTION 0xDEADBEEF
#define CMD_SUSFS_SHOW_VERSION 0x555e1
bool become_manager(const char *);
int get_version();