个人信息保护中,APP经常调用的Android类和方法

我们可以在一部已经Root的安卓手机上,通过安装 Edxpose框架和安装一些插件,来hook 应用是如何调用Android一些方法,并且可以根据打印出的堆栈信息来判断是应用本身的行为,还是应用中的第三方SDK的行为。我们在这里仅仅描述自定义的插件,至于前提条件,各位可以查看Android 手机如何安装EdXposed

1 主要功能

  1. Hook 被应用调用的Android 底层方法
  2. 在log中,仅仅记录我们想测试的应用,其他的应用日志不做记录
  3. 需要打印出堆栈信息,方便 开发进一步debug。

2 一些开发中小建议

* Step 1 把APP的 Manifest 文件倒出来
* Step 2 整理全部的permission
* Step 3 优先查找 TelephonyManager 这个类里的对应的方法

3  我们这里列举几个底层方法,其余的需要您有一定的Android基础,或者你跟Android开发的关系非常好,让他帮你查Mainfest。

* 1 当前设备在WIFI下的Mac地址
* 2 读取联系人信息
* 3 当前设备在WIFI下的ip地址
* 4 当前设备的Mac地址
* 5 当前设备的ip地址
* 6 当前设备的imei
* 7 当前设备的位置信息
* 8 当前设备的获取数据连接状态
* 9 当前设备的软件版本号
* 10 当前设备的手机号码
* 11 返回ISO标准的国家码,即国际长途区号
* 12 返回移动网络运营商的名字(SPN)
* 13 获取网络类型
* 14 获取设备类型
* 15 SIM卡提供商的国家代码
* 16 统计其他应用的使用数据
* 17 手机状态和服务相关信息
* 18 指纹或生物识别
* 19 摄像头
* 20 SIM卡IMSI信息
1 class : android.net.wifi.WifiInfo 
 
  Method : getMacAddress / getIpAddress

2 class : java.net.NetworkInterface
   
  Method : getHardwareAddress  / getInetAddresses 

3 class : android.telephony.TelephonyManager

  Method : getDeviceId / getCellLocation / getDataState / getDeviceSoftwareVersion
           getLine1Number / getNetworkCountryIso /  getNetworkOperator / 
           getNetworkType / getPhoneType / getSimCountryIso / getSubscriberId
           getServiceState / 

4 class :  android.hardware.fingerprint.FingerprintManager 
  
  Method : authenticate / 

5 class : android.hardware.camera2.CameraManager
  
  Method : openCamera 

6 class : android.app.usage.UsageStatsManager 
 
  Method : queryUsageStats 

详细代码待整理~ 

 


版权声明:本文为weixin_39757068原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。