前言:
市面上安卓改串的需求由来已久。然而各大APP厂商对反改机的检测也越来越严格,从最开始的检测IMEI,MEID,SERIALNO,到AID,OID,MAC的检测,在到root、设备环境、真假机的检测,无所不用其技。
安卓从10开始,对APP的权限限制导致一部分设备唯一值获取不到,但是在大厂的高级开发者还是能绕过这些获取到设备的唯一码,每个厂家可谓各显神通。
各种方案:
1,HOOK框架
201x年代主要流行的是Xposed改机框架,这款大名鼎鼎的工具就算放到202x的年代也相当可靠,它的方式主要通过修改app_process,将java层的函数进行替换或修改,从而达到改串的目的。改机的修改点无非在系统框架层面的替代。
博弈:
1)检测,代码堆栈,框架存在性等,获得xposed残留物、关键字;反制,hook残留物;xposed变种,以自制xposed框架替代市面通用的框架;
2)检测,底层参数,例如getprop ro.serialno,命令等,跟framework层参数做对比;反制,底层代码超出xposed框架能力,无法反制
2,root
在安卓8以前的手机root是相对来说方法比较多的,但随着手机厂商加强的安全防护,root越来越难,只有小米手机的开发版系统能开启root。
后来出现了magisk工具,root方式基本上就统一了。
APP厂家对root的检测,su文件特征,root进程特征,proc-map的特征等。反制:magisk开发了隐藏root、app包名随机化等功能(较弱,有些地方还是能检测到)。
3,定制系统
主要是通过下载Android源码AOSP对特定手机定制化系统达到改串、改唯一信息的目的。优点:修改自由程度较高可以修改机型、IMEI、MAC、序列号甚至修改驱动等达到覆盖CPU信息等,免root、框架等;缺点:由于是特定机型因此适配性较差,如果要适配多种机型那么就需要每种机型编制一套rom。
4,其他
4.1硬改方式:利用UA工具或HW的硬改工具对手机进行改串
4.2软改方式:虚拟技术、沙箱等,免root框架直接对APP进行注入等。