一种基于CPU信息的安卓模拟器识别方法及系统

文档序号:25543222发布日期:2021-06-18 20:40阅读:来源:国知局

技术特征:

1.一种基于cpu信息的安卓模拟器识别方法,其步骤包括:

1)服务端收集客户端的cpu信息,其中所述cpu信息通过在app中嵌入cpu信息收集与结果接收插件得到;

2)把cpu信息转换为数值形式的属性值;

3)将数值形式的属性值输入至安卓模拟器识别模型,获取识别结果;

其中,通过以下步骤得到所述安卓模拟器识别模型:

a)获取若干样本cpu信息;

b)把样本cpu信息分别转换为数值形式的属性值;

c)依据数值形式的属性值进行机器学习,得到所述安卓模拟器识别模型。

2.如权利要求1所述的方法,其特征在于,通过https协议,服务端收集客户端的cpu信息。

3.如权利要求1所述的方法,其特征在于,cpu信息包括:cpu名称、cpu指令集、cpu最大频率、cpu最小频率、是否包含cpu序列号、cpu核心数量和cpu各核心的当前频率。

4.如权利要求3所述的方法,其特征在于,通过以下策略获取cpu信息:

1)通过读取/proc/cpuinfo文件,获取设备的cpu名称;

2)通过调用android.os.build类的cpu_abi方法,获取cpu指令集;

3)通过以下步骤得到cpu最大频率:

3.1)通过processbuilder方法执行/system/bin/cat命令,得到文件/sys/devices/system/cpu/cpu[i]/cpufreq/cpuinfo_max_freq,其中i为cpu核心的编号;

3.2)提取文件/sys/devices/system/cpu/cpu[i]/cpufreq/cpuinfo_max_freq中的数值,得到cpu核心i的最大频率;

3.3)将cpu各核心i的最大频率相加,得到cpu最大频率;

4)通过以下步骤得到cpu最小频率:

4.1)通过processbuilder方法执行/system/bin/cat命令,得到文件/sys/devices/system/cpu/cpu[i]/cpufreq/cpuinfo_min_freq;

4.2)提取文件/sys/devices/system/cpu/cpu[i]/cpufreq/cpuinfo_min_freq中的数值,得到cpu核心i的最小频率;

4.3)提取cpu各核心i的最小频率的最小值,得到cpu最小频率;

5)通过/proc/cpuinfo文件中的serial字符串,判断是否包含cpu序列号;

6)通过调用runtime类getruntime()方法中的availableprocessors()方法,获取设备cpu的核心数量;

7)通过读取/sys/devices/system/cpu/cpu[i]/cpufreq/scaling_cur_freq文件中的数值,得到cpu各核心i的当前频率。

5.如权利要求1所述的方法,其特征在于,cpu信息的格式包括:包含cpu属性名与对应属性值的json格式数值对。

6.如权利要求1所述的方法,其特征在于,通过以下策略把cpu信息转换为数值形式的属性值:

1)对于由数值或数值与单位组合的字符串构成的cpu信息,把cpu信息转换为数值形式的属性值的方法包括:提取数值法;

2)对于由有限字符串构成的cpu信息,把cpu信息转换为数值形式的属性值的方法包括:枚举法;

3)对于由字符串与数值的组合构成的cpu信息,通过以下步骤把cpu信息转换为数值形式的属性值:

a)利用提取数值法,得到数值的数值化结果;

b)利用枚举法,得到字符串的数值化结果;

c)对数值的数值化结果与字符串的数值化结果进行加权求和,得到数值形式的属性值。

7.如权利要求1所述的方法,其特征在于,机器学习的方法包括:随机森林。

8.如权利要求1所述的方法,其特征在于,将依据识别结果生成的校验值发送至客户端;若客户端接收的校验值表示该客户端不是安卓模拟器,则执行对应的逻辑;若客户端接收的校验值表示该客户端是安卓模拟器,则执行app正常的逻辑代码。

9.一种基于cpu信息的安卓模拟器识别系统,包括:

客户端,用以通过在app中嵌入cpu信息收集与结果接收插件,得到该客户端的cpu信息;将cpu信息发送至服务端;

服务端,用以把cpu信息转换为数值形式的属性值;将数值形式的属性值输入至安卓模拟器识别模型,获取识别结果;

其中,通过以下步骤得到所述安卓模拟器识别模型:

a)获取若干样本cpu信息;

b)把样本cpu信息分别转换为数值形式的属性值;

c)依据数值形式的属性值进行机器学习,得到所述安卓模拟器识别模型。

10.如权利要求9所述的系统,其特征在于,cpu信息包括:cpu名称、cpu指令集、cpu最大频率、cpu最小频率、是否包含cpu序列号、cpu核心数量和cpu各核心的当前频率。


技术总结
本发明公开了一种基于CPU信息的安卓模拟器识别方法及系统,包括:服务端收集客户端的CPU信息,其中所述CPU信息通过在APP中嵌入CPU信息收集与结果接收插件得到;把CPU信息转换为数值形式的属性值;将数值形式的属性值输入至安卓模拟器识别模型,获取识别结果。本发明通过将CPU的诸多信息作为特征及创新的枚举提值赋权法,不用获取安卓设备的权限,保障用户使用APP的体验,以极低的误判率保证了模拟器识别过程的有效实现,且不引起不法分子的警觉。

技术研发人员:刘奇旭;刘心宇;陈浪平;王晓茜;张金莉;刘潮歌
受保护的技术使用者:中国科学院信息工程研究所
技术研发日:2021.01.28
技术公布日:2021.06.18
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1