如何监控另外一个手机(手机控制另一个手机软件)很多人在平时可能会有这样的经历。 我们在和朋友之间的交谈一旦涉及到了某样商品的时候,打开手机APP就会出现这样商品的推广消息。 很多人觉得这是手机APP在我们后台监听我们的对话,以此用来推广。 那么事实的真相真的就是这样吗? 不一定。 首先我们要明白我们的手机是如何"出卖"我们的。 换句话说,这个世界上的移动设备那么多,手机是如何确定我们的唯一性并选择在合适的时间进行个性化的广告推广呢? 我们要确定设备唯一性。 说起设备唯一性呢,我们就涉及到了一个设备标识符。 毕竟,所有的广告商基本依靠设备标识符来进行个性化投放。 首先就安卓设备而言的话 大家都知道手机有一个IMEI,简称移动设备识别码。 这个码理论上具有唯一性(但是可以通过root权限修改) 除了这个IMEI,还有一个WLAN Mac地址也是唯一的。 当然,电脑端网卡的Mac地址和这个是都是一个道理。 我们连接WiFi的时候就可以通过它来确定联网设备的地址。 不过呢,在Android6.0的时代,作为大佬的谷歌发现这个功能被滥用之后,为此添加了一下使用门槛: 应用必须拥有ACCESS_FINE_LOCATION 或ACCESS_COARSE_LOCATION 权限,才可以通过WiFi和蓝牙进行扫描连接附近的设备。 不然返回的就只有一串为02:00:00:00:00:00的常量值 除了这两样之外,我们还忘记了一样最重要的东西 手机基本一年一换,可是我们的手机号呢? 手机的SIM卡序列号也是具有唯一性的,并且相比较前两者而言对于普通用户更加的重要。 我们平时在授权一个APP使用电话权限的时候,眼尖的用户应该就可以发现这个权限。 它不仅包含了IMEI之类的基本信息,甚至还有直接获取电话号码的行为。 在黑马测试中随便安装一个简单的音乐APP,其所涉及的权限就接近36个,其中涉及敏感信息权限6个。 另外还有Android ID这个容易被忽视的存在 Android ID是随着设备的第一次启动时生成并保存的。 同样的具有唯一性,当然理论上重置手机的时候这个ID会被重置。 我们安装的应用通过分析这些数据,就可以确定一台设备的唯一性。 那么说完安卓,难道iOS就很白了么? Emmm… 在这里只能说半斤八两,毕竟大家都是要赚钱的嘛 iOS设备和安卓设备一样,也有唯一标示。 首先从它的设备唯一识别码开讲,它的英文简称是UDID。 主要用在需要限制一台设备一个账号的时候出现。 苹果通过UDID连接苹果ID账户方便下载购买应用,不过早期被开发者拿来收集用户数据方便精准投放广告。 在iOS5那个时代可以获取到设备UDID,后来被苹果禁止。