==== 2016-2-14 更新 ====
先科普一下常用的能当作识别码的东西:
前五行是今日头条尝试获取的账户类型。上次忘记发了。
第七行里的10.0.0.172我记得好像是移动cmwap接入点的代理服务器地址。
中部还有两次扫描附近WiFi的行为,之前不小心没看到。
另外根据部分知友的推荐,测试了其国内官网下载的版本。
APK 副本:
https:// mega.nz/# !DB4lnS4I!6r9c8V_kzH9int0SdDbi9JXWFf19GoCGnl648lRjUgA
以下是国外版没有做过的事情:
获取手机的 IMEI/MEID。
参考:
https:// developer.android.com/r eference/android/telephony/TelephonyManager.html#getDeviceId()加载了百度的定位SDK运行库。且同时加载了两个版本的。
获取附近的基站列表。(在无LTE功能的CDMA手机上无效)
获取最后一次已知的位置。
获取当前的 IMSI 。
参考:
https:// zh.wikipedia.org/wiki/% E5%9B%BD%E9%99%85%E7%A7%BB%E5%8A%A8%E7%94%A8%E6%88%B7%E8%AF%86%E5%88%AB%E7%A0%81 https:// developer.android.com/r eference/android/telephony/TelephonyManager.html#getSubscriberId()获取卡1的号码。
获取一切能获取到的基站信息。
和上面的 getNeighboringCellInfo() 功能相似,但在 Android 4.2+ (API 17)的系统上能获取到更多信息。
参考:
https:// developer.android.com/r eference/android/telephony/TelephonyManager.html#getAllCellInfo()==== 以下为原文 ====
于是我就亲自下了个今日头条来看看它到底干了什么。
截图较多,请注意流量。
可能不是很适合对计算机没有经验的人阅读。
测试环境:
于是,点开今日头条。
不出所料,第一件事果然就是获取设备识别码。
在此先引用一篇文章:
谈谈 Android 中的各种设备标识符接着就是检查存储卡是否可读写。
国产软件大多数都是不遵循 Android 的官方指导的,已经习惯了。
听说你要缓存数据?请参考:
https:// developer.android.com/g uide/topics/data/data-storage.html获取手机上有哪些账户。啧啧。
然后获取当前连接的 WiFi 的相关信息,包括但不限于:
参考:
https:// developer.android.com/r eference/android/net/wifi/WifiManager.html#getConnectionInfo() https:// developer.android.com/r eference/android/net/wifi/WifiInfo.html获取另一种识别码,多多益善嘛。
与 SERIAL 的区别请参考上面引用的文章。
获取华为 EMUI 系统的版本号。有意思。
获取已经安装的 App 的列表。
获取当前运营商。
获取当前正在运行的 App 列表。
获取蓝牙的 MAC 地址。
在后台静默执行一个可执行文件。
然后我简单地看了下这个文件,不做任何评价:
关于下面出现的 am start 的科普:
adb启动程序命令:adb shell am start关于下面出现的这个inotify_add_watch函数的科普:
Linux下使用inotify监控文件动作 | 江淼的Blog获取手机的CPU信息。
获取手机的内存信息。
直接通过内核接口获取各网络接口的 IPv6 信息(绕过了 Android 的 API)。
参考:
IPv6地址的自动配置-frankzfz-ChinaUnix博客先写这么多,有空再更。