检测到WSO2 EMM代理根

时间:2014-08-22 12:38:48

标签: android wso2 root wso2carbon wso2-emm

今天我安装了WSO2 EMM Server作为现有mdm软件的替代品。 我的公司正在建立自己的Android智能手机,平板电脑和平板电脑Android 4.x.x. 我安装了Android EMM-Agent并获得了我的设备根植的信息。

  

由于您的设备已植根

,因此无法注册

但手机上没有根。

那么我怎么能说代理设备没有植根? 或者我应该与开发人员交谈?

2 个答案:

答案 0 :(得分:1)

我有同样的问题......

您可以通过修改代理的来源以绕过根测试来解决问题!

这是在文件Root.java上,函数isDeviceRooted(),只是注释三行测试:

public boolean isDeviceRooted() { 
    // if (checkRootMethod3()){return true;}
    // if (checkRootMethod2()){return true;}
    // if (checkRootMethod1()){return true;}
    return false;
}

答案 1 :(得分:1)

另一种方法是分析代理发现您的设备已植根的方式......

代码如下:

/**
*Returns true if the OS build tags contains "test-keys"
*/
public boolean checkRootMethod1(){
    String buildTags = android.os.Build.TAGS;

    if (buildTags != null && buildTags.contains("test-keys")) {
        Log.e("ROOT CHECKER", "ROOT METHOD 1");
        return true;
    }
    return false;
}
/**
*Returns true if the device contains SuperUser.apk which is stored into the device in the rooting process
*/
public boolean checkRootMethod2(){
    try {
        File file = new File("/system/app/Superuser.apk");
        if (file.exists()) {
            Log.e("ROOT CHECKER", "ROOT METHOD 2");
            return true;

        }
    } catch (Exception e) { }

    return false;
}
/**
*Executes a shell command (superuser access with su binary) and returns true if the command succeeds
*/
public boolean checkRootMethod3() {
    if (new ExecShell().executeCommand(ExecShell.SHELL_CMD.check_su_binary) != null){
        Log.e("ROOT CHECKER", "ROOT METHOD 3");
        return true;
    }else{
        return false;
    }
}

所以,进行了3​​次检查:

  1. 你有链"测试键"在你的Android buildTags上!
  2. 您的设备上有Superuser.apk!
  3. 您的设备非常扎根,因为您可以执行shell命令 超级用户访问!!!