🗒️root检测和绕过方案

roo检测原理以及绕过方案
root检测和绕过方案
status
Published
type
Post
category
date
Feb 22, 2024
slug
rootCheckapassIdea
summary
roo检测原理以及绕过方案
tags
password
icon
 
对于Android逆向开发者来说,我们平时root过的手机,想要对目标接口apk进行调试的时候,打开apk发现,apk弹出手机已被root的提示的dialog弹窗,点击按钮时就强制退出app了。这是apk对我们手机进行了过滤检测,所以我们想要抓到包就需要绕过root检测,
 
notion image
 

root检测原理

💡
Root检测的原理在于确定安卓设备是否获得了超越普通用户权限的root权限。 这通常涉及到一系列检查,目的是发现任何表明系统安全性和完整性已被破坏的迹象。
  1. 运行app--》app会用代码去固定位置检查,当前位置下有没有su 命令,如果有,说明手机root了
  1. root的手机,会有一些特征:典型的特征就是 su 命令
 
只要手机root了,会在如下目录出现特殊的标识
root方式有很多种:面具,superuser.apk
我们查看手机是否必备root,直接进入:/system/bin 看看有没有su可执行文件
notion image
 

绕过方案

  1. -如果是java层,执行方法检测---》我们可以通过hook函数,返回False可以绕过(让它不执行---》绕过强制跟新一样)
  1. -如果是c层,我们需要使用aosp刷机,修改su关键词,绕过(通过修改 su 可执行文件的名字 aosp 刷机并root,修改su文件名 su1)
 

绕过方案一

 
使用步骤:
  1. 复制
  1. 手机端启动frida-server,端口转发
  1. 运行这个js脚本:
 

绕过方案二

💡
面具+Shamiko模块方案+隐藏magisk应用
原理隐藏su文件,让某款app检测不到
 
使用步骤:
  1. 把老师提供的 Shamiko-v0.5.2-120-release.zip 推送到手机上
  1. 打开面具---模块--》本地安装---》把zip刷入--》重启--》再进来--》打开
notion image
notion image
后重启
后重启
重新打开面具设置
发现模块已经安装成功
notion image
 
  1. 打开面具--》首页--》右上角齿轮点击---》配置排除列表--》把对应app排除
notion image
notion image
 
  1. 打开app,就没有提示了
notion image
 

补充: 绕过面具Magiisk的检测

有银行类的app,不仅仅做root检测,还做面具检测--》看看你手机上有没有装面具--》装了面具也不允许进入app
notion image
 
 

绕过方案三

自己使用反编译+hook绕过--》定位代码--》自己hook即可
用jadx反编译apk → 搜索检测时弹出来的dialog的关键词
notion image
核心原理 1 检测是否是模拟器 MiscUtil.isSimulator(this) 2 检测是否root MiscUtil.isRooted() 解决方案: hook,他俩,返回false,就可绕过
 

MiscUtil.isSimulator(this) 是否是模拟设备

查看这个文件:/system/build.prop
notion image
 

MiscUtil.isRooted() 是否root

 
 

通过hook绕过

执行isRootPhoneHook.js脚本
 

绕过方案四(Aosp)

aosp刷机方案
💡
后期会使用aosp,编译,并刷入到手机---》做root时,把su文件名改掉--》后期app就检测不到了
aosp
Android是开源的,AOSP(Android Open Source Project)为Android开源项目的缩写,自己编译Android系统
这个代码是开源的---》各个厂商可以拿到这个代码---》修改---》编译---》适配得到手机上---》就成了自己的操作系统 鸿蒙:可以装安卓apk---》不支持安卓apk--》大改了 小米miui都是
 
 
 
 
上一篇
d音抓包教程
下一篇
Frida RPC
Loading...