最近,APP发现有很多用户在促销过程中使用小号领取邀请奖金。 小号操作通常使用多个软件打开APP替身登录。 为此,必须区分主体和克隆。
现在市场上流行的分身主要有三种
修改框架
手机厂商实现的分身功能就是这样实现的
检查方案:手上有小米测试机,正好自带替身,通过getFileDir ()的api进行了尝试。 主体得到的是data/data/com.xxx.xxx/files,克隆体得到的是data/user/10/com.XXX .
2 .修改apk
反编译apk,修改apk包名、签名等,将apk伪装为另一个app。 市场上大多数常见的第三方多开放app都使用该技术。 其特征是每次制作自己都需要时间复制,可以在APP应用列表中看到
检查计划:
与上述相同,可以通过getFileDir ()进行检测。 但一个是data/data/com.xxx.xxx/files,另一个是data/data/com.xyz.xyz/files
3 .虚拟操作系统
虚拟操作系统、克隆APP在该虚拟系统上运行,不在APP列表中显示,而是表示产品: 360分身主机
检查计划:
这被认为是绕过getFileDir ()的唯一分身方式,但确实这种方式花了时间。 以360个分身大师为例,详细说明分析过程
首先,通过getFileDir ()的尝试,主体和克隆的输出一致。 失败了!
通过向主体和克隆注册不同的帐户来获取存储在SP上的帐户信息,从而确认获取的信息不同,证明存储位置不一致
在文件管理器中查看最近修改的文件时,您会发现系统根目录下有一个docker文件夹,其中包含与根目录类似的结构。 在其中的Android/data下找到自己的包名,自己的本地数据保存在这里。
找到自己的本地存储器后,试图在其中存储数据并标记是否是自己,但由于主机运行时间存在没有写入权限的异常,因此更改为判断当前是否有对该目录的写入权限
PS:据说“平行空间”的原理与“360分身大师”相同,测试结果显示可以通过getDirFile ()判断,分身检测基本完成