五,编译定制rom并刷机实现硬改(二)

  • 前言
  • 一、检测手机root的方法
    • 1: 遍历系统路径
    • 2: 检查特定路径是否有写权限
    • 3: 查看系统是否为测试版 (test-keys)
    • 4: 获取系统安装的应用列表
    • 5: 其他
  • 二、检测环境
  • 三、检测模拟器
  • 总结


前言

大厂有1024个检测细节,防不胜防,为什么有1024个?因为1024就是一级棒,就是好人一生平安。每个APP的世界里都是一台完整的手机,APP享受全部资源,手机不root硬改的方法,只有通过ROM定制,别再交支商税了,相信一个软件,一个APP就能硬改,太瞧不起大厂APP的风控技术了。


一、检测手机root的方法

1: 遍历系统路径

检测路径下是否有一些奇奇怪怪的二进制文件,magisk,su,mysu,xu,1busybox,frida server及其变种等
system/bin/ /svstem/xbin/ /svstem/sbin/ /sbin/ /vendor/bin/ /su/bin/ /data/local/tmp
不嫌麻烦的话,对所有二进制文件计算特征值,和数据库中已收集的,变异的特征比对

2: 检查特定路径是否有写权限

system /system/bin /system/sbin /system/xbin /vendor/bin /sbin /etc
/sys /proc /dev 禁止写入

3: 查看系统是否为测试版 (test-keys)

4: 获取系统安装的应用列表

过滤出可疑应用,包名含有某些关键词
com.noshufou.android.su
com.noshufou.android.su.elite
eu.chainfire.supersu
com.koushikdutta.superuser
com.thirdparty.superuser
com.yellowes.su
com.topjohnwu.magisk
com.kingroot.kinguser
com.kingo.root
com.smedialink.oneclickroot
com.zhiqupk.root.global

5: 其他

判断SELinux是否开启,获取ro.build.selinux,检测ro.debuggable全局调试标志位,检测ro.secure
打印出所有的getprop中字段,例如: os.Build,persist.xxx,ro.xxx,检查有无关键词
以及各家大厂未公开的检测方法…

二、检测环境

逆向分析调试器也有1024个细节,防不胜防

检测点: magisk Zygisk vmos frida xposed lsp kernelsu shamiko IDA 分身 虚拟定位

检测frida开启的端口,连接本机所有端口发送测试是否有frida的回应,检测命名管道,frida线程在so和libc中搜索frida特征…

检测分身通过getFileDir检测路径,包名,签名,本体和克隆体结果不同,
对于vmos,检测本体和分身的本地存储内的数据,本体和克隆体目录读写权限不同…

定位功能普遍集成百度地图sdk, 注入hook指定函数 getLatitude, getLongitude
                 XposedHelpers.findAndHookMethod(Location.class,"getLongitude",new XC_MethodHook(){
                 @Override
                 protected void afterHookedMethod (MethodHookParam param) throws Throwable {
                 param.setResult(115.193721);

三、检测模拟器

检测模拟器还有1024个细节,不管怎么模拟,风控很容易识别出异常设备,不揭穿,账号降级,你继续玩,虚拟机匹配虚拟机玩家,模拟器匹配模拟器玩家,或者不给流量

水平加速度,纵向加速度
光线传感器
wifi列表信号波动
基站列表信号强度
陀螺仪电池温度
对于用户设备行为习惯,app也可能采集单手双手打字习惯滑动手机习惯等等
假的毕竟是假的,不管怎么模拟 

总结

被判断为违规用户后,APP并不会禁止你的操作,它知道你的行为后会对付你的账号即可,把你兜到高危名单、灰名单中去。

总结,root必死,模拟器半死不活,改定位账号降级
关于大厂风控,可以参考大佬写的一篇文章https://github.com/WalterInSH/risk-management-note

你可能感兴趣的:(rom,android)