转载:https://blog.csdn.net/m0_37735448/article/details/102555244

判断Android设备Root方法总结
先说结论没有办法完全检测出设备是否被root,因为root权限拥有系统的最高权限。 已经root的设备可以通过修改系统文件,和Hook来躲避检查。我们只能增加他躲避检查的难度来检测root权限。
1,通过判断是否存在一些已知的root程序包名来判断机器是否被root
"com.noshufou.android.su",
"com.noshufou.android.su.elite",
"eu.chainfire.supersu",
"com.koushikdutta.superuser",
"com.thirdparty.superuser",
"com.yellowes.su",
"com.topjohnwu.magisk"
2,通过判断是否存在一些危险应用,比如必须需要root权限才能使用的应用的包名来判断是否被root
    这个方法可能会误杀一些手机,可以根据自己需求添加这个方法

"com.koushikdutta.rommanager",
"com.koushikdutta.rommanager.license",
"com.dimonvideo.luckypatcher",
"com.chelpus.lackypatch",
"com.ramdroid.appquarantine",
"com.ramdroid.appquarantinepro",
"com.android.vending.billing.InAppBillingService.COIN",
"com.chelpus.luckypatcher"

3,检测一些常用目录是否有su文件
"/data/local/",
"/data/local/bin/",
"/data/local/xbin/",
"/sbin/",
"/su/bin/",
"/system/bin/",
"/system/bin/.ext/",
"/system/bin/failsafe/",
"/system/sd/xbin/",
"/system/usr/we-need-root/",
"/system/xbin/",
"/cache/",
"/data/",
"/dev/"

除了这种方法还可以通过Linux 的which命令来查找su文件,这样会更全面的查找。但是不可避免的一个问题就是,如果曾经root过但是root权限已经失效的设备会被判断成已经root。这个可以根据需求添加

4,判断ro.debuggable属性和ro.secure属性
    默认手机出厂后ro.debuggable属性应该为0,ro.secure应该为1。而root需要修改secure这个属性,如果这个属性被修改则认为这台手机被root了

5,判断一些系统路径是否可写。
    Android中一些系统目录在没有root权限的情况下是不可写入的,如果我们对这些目录有写入的权限则判断这台设备已经被Root

"/system",
"/system/bin",
"/system/sbin",
"/system/xbin",
"/vendor/bin",
"/sbin",
"/etc",
6,判断系统的Tags标签
    如果是正式发布版本的系统android.os.Build.TAGS的属性应该是release-keys,如果是test-keys,很可能是非官方正式发布的ROM,则判断设备被替换了ROM,被root了。这个方法不一定准确,根据自己情况添加。

建设银行解析后的判断节点有:

package com.secneo.apkwrapper;

public final class a {
    
    不能包含下面这些apk文件:
    public static final String[] a = new String[]{"com.noshufou.android.su", "com.noshufou.android.su.elite", "eu.chainfire.supersu", "com.koushikdutta.superuser", "com.thirdparty.superuser", "com.yellowes.su"};
    public static final String[] b = new String[]{"com.koushikdutta.rommanager", "com.koushikdutta.rommanager.license", "com.dimonvideo.luckypatcher", "com.chelpus.lackypatch", "com.ramdroid.appquarantine", "com.ramdroid.appquarantinepro"};
    public static final String[] c = new String[]{"com.devadvance.rootcloak", "com.devadvance.rootcloakplus", "de.robv.android.xposed.installer", "com.saurik.substrate", "com.zachspong.temprootremovejb", "com.amphoras.hidemyroot", "com.amphoras.hidemyrootadfree", "com.formyhm.hiderootPremium", "com.formyhm.hideroot"};
    
    以下文件可以执行su操作:
    public static final String[] d = new String[]{"/data/local/", 
                                                  "/data/local/bin/", 
                                                  "/data/local/xbin/", 
                                                  "/sbin/", 
                                                  "/su/bin/", 
                                                  "/system/bin/", 
                                                  "/system/bin/.ext/", 
                                                  "/system/bin/failsafe/", 
                                                  "/system/sd/xbin/", 
                                                  "/system/usr/we-need-root/", 
                                                  "/system/xbin/"};
    
    以下目录是否有写入的权限: (成功)
    public static final String[] e = new String[]{"/system", 
                                                  "/system/bin", 
                                                  "/system/sbin", 
                                                  "/system/xbin", 
                                                  "/vendor/bin", 
                                                  "/sbin", 
                                                  "/etc"};
}

Android P的源码修改方案:

ifeq ($(DEFAULT_SYSTEM_DEV_CERTIFICATE),build/target/product/security/testkey)
    ifeq ($(TARGET_BUILD_VARIANT),user)
        BUILD_KEYS := release-keys
    else
        BUILD_KEYS := test-keys
    endif
else
BUILD_KEYS := dev-keys
endif

建设银行检测到设备已被Root的判断相关推荐

  1. 计算机网络怎么查看连接打印机驱动,如何检测网络打印机是否已成功连接到计算机[检测方法]...

    大概很多婴儿都像以前的编辑一样. 使用网络打印机时,有时它们可​​以打印打印机没有和电脑连接,有时却不能. 那么如何检测网络打印机是否已成功连接到计算机?跟随编辑器往下看. 系统反复提示"无 ...

  2. [总结]mac pro 提示“USB设备已停用”导致外接显示器黑屏

    usb在不接任何外设的情况下,通知中心会弹出"USB设备已停用 拔掉耗电量太大的设备以重新启用USB设备"的通知. 然后我的外接显示器突然就黑屏了,拔掉HDMI线重插,关机重启,都 ...

  3. 高通平台的usb2.0测试_深圳格拉布斯研究院全自动高通量催化剂制备及筛选设备已正式启用...

    2020年9月,深圳格拉布斯研究院正式启用全自动高通量催化剂制备及筛选设备,研究院有机合成平台已完成全部设备的安装调试工作,日筛选量上千个的高通量筛选中心正式运行. 全自动高通量催化剂制备及筛选设备, ...

  4. ajax用户名注册自动刷新,ajax+jsp实现 无刷新页面下注册时检测用户名是否已存在...

    当前位置:编程学习 > JAVA >> ajax+jsp实现 无刷新页面下注册时检测用户名是否已存在 如题:ajax+jsp实现 无刷新页面下注册时检测用户名是否已存在 求大神们赐教 ...

  5. android检测usb设备——usb打印机

    最近弄了一个安卓的项目,需要外接usb打印机,从网上找了一些方法,下面这个是测试了以后,没有问题的.主要是担心再次访问404,所以我做个备份,这里附一下原文链接. 在此之前,我先说几个我踩的坑. 这个 ...

  6. 三星android q,三星S10系列Exynos版/Android Q Beta 2已可Root

    原标题:三星S10系列Exynos版/Android Q Beta 2已可Root IT之家4月6日消息 今日,Magisk开发者topjohnwu宣布了一个新的Canary频道更新,称已经可在Exy ...

  7. 装打印机驱动时出现请重新启动计算机,确保其它程序关闭是什么意思,,确保打印机设备已打开电源。常见问题hp1007驱动怎么卸载...

    2.确保打印机设备已打开. 3.将打印机连接到计算机 4.打开驱动程序,然后按照提示进行安装 如何使用hp1007打印机驱动程序 1.将打印机连接到主机,打开打印机,通过主机的"控制面板&q ...

  8. http81僵尸网络预警:专门攻击摄像头,国内5万台设备已沦陷

    本文讲的是http81僵尸网络预警:专门攻击摄像头,国内5万台设备已沦陷,过去一年里,大半个安全社区都在为两件事情忙碌,勒索软件和Mirai蠕虫. 勒索软件不必多说,由于长期占据头条位置,许多安全公司 ...

  9. oppo设备怎么样无需root激活XPOSED框架的教程

    在非常多部门的引流或业务操作中,基本上都需要使用安卓的强大XPOSED框架,近期,我们部门购来了一批新的oppo设备,基本上都都是基于7.0以上版本,基本上都不能够获得root的su超级权限,即使一部 ...

最新文章

  1. Htc Vive VR 手势识别插件教程 1.1 版本(附1.0版本教程PDF)
  2. 【Kotlin】扩展函数作用域分析 ( 扩展函数导入 | 扩展函数重载 | 扩展函数作用域优先级 )
  3. 华为ax3怎么接光纤sc接口_视频监控工程中使用光纤光缆注意事项有哪些?
  4. 没有shell63号单元_苏教版15年级数学上册第七单元整理与复习+同步练习
  5. 北京内推 | 启元实验室招聘视觉感知算法工程师(北京事业单位)
  6. 用python绘制心形_python小趣味_520绘制一个心形.
  7. springbatch开启任务的两种方式
  8. 原生JS去除二维数组中重复了的一维数组
  9. 13-Java和Scala中的Future
  10. Vue 3 首个 RC 版本发布
  11. 字符串拼接之+=和join()的比较
  12. 如何在在线直播网站源码中,实现视频连麦直播?
  13. 力控组态软件 mysql_组态软件国内那家做的好?推荐几个比较一下
  14. 大话西游2人气稳定服务器,大话西游2开服18年的老区还得排队,凌烟阁确实够火...
  15. requested an insecure resource的解决方法
  16. 如何利用Gmail群发电子邮件
  17. 计算机网络图标打不开怎么回事,双击打不开图标怎么办 双击打不开图标解决方法【详解】...
  18. 《大话设计模式 下》
  19. vwf活性_血管性血友病因子(VWF)应该针对血型设置参考范围吗?
  20. python牛顿法算立方根_立方根求解(牛顿迭代法)

热门文章

  1. python爬虫11 | 这次,将带你爬取b站上的NBA形象大使蔡徐坤和他的球友们
  2. NPC位置及各种商业技能上限(150225)突破方法 5月25日修订 附图
  3. 各厂内推整理 (新增宇宙条)| 第四期
  4. 计算机主机通常包不包括硬盘,计算机主机通常包括
  5. 小程序使用Painter生成海报
  6. pylon保存图片_pylon界面中文说明-德国basler工业相机.pdf
  7. VAE_MNIST数字图片识别及生成
  8. office受保护视图_使用受保护的视图激发恶意Office文档
  9. 光纤的特性参数有哪些?
  10. linux下的文件夹图标右下脚有个锁怎么解决?