最近,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 ()判断,分身检测基本完成