root 检测原理
- 已经root设备,会增加一些特殊包或文件,所以可以通过检测这些包(如Superuser.apk、检测su命令)、activity、文件是否存在来判断。
- app检测是否可以执行在root下才能运行的命令。
- 检测busybox工具是否存在,关于busybox的知识google上一大堆,简单的说BusyBox
是很多标准 Linux 工具的一个单个可执行实现。BusyBox
包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、moun) - 运行su命令
- 检测Android 沙盒目录文件或文件夹读取权限(在Android系统中,有些目录是普通用户不能访问的,例如 /data、/system、/etc 等;比如微信沙盒目录下的文件或文件夹权限是否正常)
分析环境
小米手机刷机系统
adb环境
顶部Activity
打开root权限的步骤
设置/授权管理/root权限管理
查看手机的授权管理(主要是包名)
检测无需root权限
查看进程信息
ls -l /system/app |grep permcenter
复制代码
查看是否有安卓root的apk
pm list packages |grep permcenter
复制代码
当然还有就是查看com.xxx.xxxx包下是否有XXXActivity
adb shell dumpsys activity top复制代码
android 代码解析apk的常用包是net.dongliu:apk-parser:2.2.0
https://mvnrepository.com/artifact/net.dongliu.apk-parser
复制代码
检测busybox
xposed内携带有busybox
BusyBox是一个不简单的应用中,它的可执行二进制,按说应该被定位在系统/system/xbin表示。安装正确的BusyBox的二进制拷贝包括并创建符号链接。
# busybox pwd
cd /system/xbin
ls -l busybox复制代码
busybox top复制代码
检测su
cd /system/xbin
ls -l su复制代码
用which命令查看是否有su 和busybox命令
$ which su
#与
$ which busybox复制代码
wechat root检测
在root授权管理没有看到过wechat的授权请求,可以认为微信不会主动去尝试获取root权限,也即不会直接运行 “su”命令
在wechat代码种有对系统path环境下的su文件进行检查,有代码为证
第一个位置
第2个位置