Как проверить, работает ли Android apk на рутированном устройстве - PullRequest
3 голосов
/ 11 марта 2019

Команда Infosec хотела узнать, исполняется ли наше приложение на устройствах Android с root-доступом. Мы разработали для него решение и теперь хотим протестировать наше приложение. Можем ли мы реплицировать корневые устройства онлайн? Если нет, может кто-нибудь предложить другие способы тестирования нашего приложения?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 11 марта 2019

Я написал несколько утилит, которые помогут мне определить, работает ли мое приложение в корневой среде:

private fun isDeviceRooted(): Boolean {
    return checkRootMethod1() || checkRootMethod2() || checkRootMethod3()
}

private fun checkRootMethod1(): Boolean {
    val buildTags = android.os.Build.TAGS
    return buildTags != null && buildTags.contains("test-keys")
}

private fun checkRootMethod2(): Boolean {
    val paths = arrayOf("/system/app/Superuser.apk", "/sbin/su", "/system/bin/su", "/system/xbin/su", "/data/local/xbin/su", "/data/local/bin/su", "/system/sd/xbin/su", "/system/bin/failsafe/su", "/data/local/su", "/su/bin/su")
    for (path in paths) {
        if (File(path).exists()) return true
    }
    return false
}

private fun checkRootMethod3(): Boolean {
    var process: Process? = null
    return try {
        process = Runtime.getRuntime().exec(arrayOf("/system/xbin/which", "su"))
        val `in` = BufferedReader(InputStreamReader(process!!.inputStream))
        `in`.readLine() != null
    } catch (t: Throwable) {
        false
    } finally {
        process?.destroy()
    }
}
1 голос
/ 11 марта 2019

Я думаю, что лучшая идея - использовать эмулятор рутированного / рутируемого андроида.Вот несколько эмуляторов Android, которые вы можете скачать для Windows PC.

Ссылки для рутируемых эмуляторов

Если вы хотите использовать эмулятор, предоставленный андроид-студией, тогда я думаю,вам нужно будет создать новый эмулятор Android с API 22 (LOLLIPOP) или более поздней версии с помощью android studio и попробовать рутировать его с помощью приложения Kingroot .Это приложение поможет вам получить root права на ваше устройство, установив его прямо на ваше устройство, как обычное приложение.Это решение должно работать так же, как и на обычных реальных устройствах.Я сам пробовал на реальных устройствах, но не на эмуляторе Android.

Надеюсь, это решит ваш запрос

...