您的位置:首页 > 移动开发 > Android开发

判断 Android 设备是否已 ROOT

2016-04-12 19:10 405 查看
Android 系统获取 Root 权限以后,会存在一个 su 文件,对其作适当判断来得知设备是否已 ROOT

#include <sys/stat.h>
#include <jni.h>

jboolean Java_com_glorevo_RootState_getRootState( JNIEnv* env, jobject thiz )
{
char *path[] = {
"/system/bin/su",
"/system/xbin/su"
};

struct stat sb;

if (stat(path[0], &sb) == -1)
if (stat(path[1], &sb) == -1)
return JNI_FALSE;

//-rwxr-xr-x/-rwsr-sr-x, root, root/shell
if(
((unsigned long)sb.st_mode == 0100755 /*|| (unsigned long)sb.st_mode == 0106755*/ )
&& ((unsigned long)sb.st_uid == 0)
&& ((unsigned long)sb.st_gid == 0 || sb.st_gid == 2000)
)
return JNI_TRUE;
else
return JNI_FALSE;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: