You've already forked KernelSU
mirror of
https://github.com/tiann/KernelSU.git
synced 2025-08-27 23:46:34 +00:00
61 lines
1.4 KiB
C++
61 lines
1.4 KiB
C++
#include <jni.h>
|
|
|
|
#include <sys/prctl.h>
|
|
|
|
#include <android/log.h>
|
|
|
|
#include "ksu.h"
|
|
|
|
#define LOG_TAG "KernelSu"
|
|
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
|
|
|
|
extern "C"
|
|
JNIEXPORT jboolean JNICALL
|
|
Java_me_weishu_kernelsu_Natives_becomeManager(JNIEnv *env, jclass clazz) {
|
|
return become_manager();
|
|
}
|
|
|
|
extern "C"
|
|
JNIEXPORT jint JNICALL
|
|
Java_me_weishu_kernelsu_Natives_getVersion(JNIEnv *env, jclass clazz) {
|
|
return get_version();
|
|
}
|
|
|
|
extern "C"
|
|
JNIEXPORT jintArray JNICALL
|
|
Java_me_weishu_kernelsu_Natives_getAllowList(JNIEnv *env, jclass clazz) {
|
|
int uids[1024];
|
|
int size = 0;
|
|
bool result = get_allow_list(uids, &size);
|
|
LOGD("getAllowList: %d, size: %d", result, size);
|
|
if (result) {
|
|
auto array = env->NewIntArray(size);
|
|
env->SetIntArrayRegion(array, 0, size, uids);
|
|
return array;
|
|
}
|
|
return env->NewIntArray(0);
|
|
}
|
|
|
|
extern "C"
|
|
JNIEXPORT jintArray JNICALL
|
|
Java_me_weishu_kernelsu_Natives_getDenyList(JNIEnv *env, jclass clazz) {
|
|
int uids[1024];
|
|
int size = 0;
|
|
bool result = get_deny_list(uids, &size);
|
|
if (result) {
|
|
// success!
|
|
auto array = env->NewIntArray(size);
|
|
env->SetIntArrayRegion(array, 0, size, uids);
|
|
return array;
|
|
}
|
|
return env->NewIntArray(0);
|
|
}
|
|
|
|
extern "C"
|
|
JNIEXPORT jboolean JNICALL
|
|
Java_me_weishu_kernelsu_Natives_allowRoot(JNIEnv *env, jclass clazz, jint uid, jboolean allow) {
|
|
return allow_su(uid, allow);
|
|
}
|
|
|
|
|