源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android 区别真机和模拟器的几种方法

  • 时间:2020-03-04 14:18 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android 区别真机和模拟器的几种方法
现在的模拟器的功能太强大,从蓝牙,传感器等配件到IMEI,Mac,以及手机硬件信息什么都可以模拟 [b]为了防止用户利用模拟器模仿真机进行刷单,刷流量等恶意操作。[/b] [b]需要获取设备返回的一些信息来鉴别设备的真伪。[/b] 下面是整理的模拟器和真机的区别 虽然大部分都可以模仿,伪造,但是如果综合所有维度来监控,应该不存在太大问题。 [b]一,native方式。[/b] 通过c代码读取设备中的配置和硬件相关信息。 [b]1,diskstats[/b] 获取闪存的分区状态信息。
int fd = open(“/proc/diskstats”, O_RDONLY);

bytes = read(fd, buf, bytes);
[b]区别:真机下都有mmcblk0分区,但是模拟器没有分区信息。[/b] [b]2,mac地址。[/b] [b]通过socket和ioctl读取mac地址。[/b]
sockfd = socket(AF_INET, SOCK_DGRAM, 0);

ioctl(sockfd, SIOCGIFCONF, (char*)&ifc);

ioctl(sockfd, SIOCGIFADDR, &ifr[i])

ioctl(sockfd, SIOCGIFHWADDR, (char*)&ifr[i])
[b]区别:真机可以获取wlan0的ip和mac地址,模拟器只能获取eth0的ip和mac地址;[/b] [b]3,有用的prop信息。[/b]
__system_property_get(key, buf);
[b]区别: 模拟器没有ro.boot.serialno和ro.serialno属性,真机中为机器序列号。[/b] [b]模拟器 ro.hardware属性为goldfish,真机为各自的型号。[/b] [b]4,cpu信息。[/b]
int fd = open(“/proc/cpuinfo”, O_RDONLY);

bytes = read(fd, buf, bytes);
[b]区别:模拟器中cpuinfo的硬件为Goldfish。[/b] [b]5,drivers[/b]
int fd = open(“/proc/tty/drivers”, O_RDONLY);
[b]区别:模拟器中包含goldfish的驱动[/b] [b]6,模拟器特有文件。[/b]
int fd = open(“/dev/socket/qemud”, O_RDONLY);

int fd = open(“/dev/qemu_pipe”, O_RDONLY);
[b]区别:模拟器专有的文件,真机中没有。[/b] [b]二,传统的方式:[/b] 通过Java层的代码获取,可以有以下方式: 1,IMEI和IMSI IMEI  移动设备国际身份码。 IMSI  IMSI国际移动用户识别码,储存在SIM卡中
final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);

String imei = tm.getDeviceId();

String imsi = tm.getSubscriberId();
设备1:354273055927169 / null(无卡) 设备2:862966024243759 / 460011040618938 模拟器:000000000000000 / 310260000000000 [b]2,Serial序列号[/b]
String serial = android.os.Build.SERIAL;
设备1:4df78680771b117b 设备2:OBAI5HDQZPDIRCQG 模拟器:unknown [b]3,android_id[/b]
String android_id = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
[b] 设备和模拟器都有,16位。[/b] [b]4,Mac地址[/b]
WifiManager wifimanage=(WifiManager)getSystemService(Context.WIFI_SERVICE); WifiInfo wifiinfo= wifimanage.getConnectionInfo();
设备1:88:32:9b:1e:49:20 设备2:f8:a4:5f:fd:56:17 模拟器:null 以上就是对Android 区别真机和模拟器 方法的整理和对比,有需要的朋友可以参考一下.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部