hook android api伪造设备信息做刷量

hook android api伪造设备信息做刷量


概述

Android平台上app的统计数据都是基于Android的设备信息的,比如首次使用(激活),活跃(日活跃DAU,月活跃MAU)等都需要根据设备唯一信息来统计。不仅统计,业务需求也都是根据设备唯一信息来展开的,比如签到,同一台设备不能签第二次,比如运营推广发积分发红包,每台手机只能领取一次,再比如app分发渠道统计应用的激活,同一台手机第一次使用某app才算激活等等这些场景都需要靠设备信息来唯一确定一台手机。

怎么唯一确定一台Android手机,Android程序员都知道,

  • IMEI
  • IMSI
  • SIM_SER sim卡序列号
  • MAC地址,
  • Android_ID android系统第一次启动生成的一个唯一ID
  • Brand 手机品牌
  • Model 手机型号

这些信息基本能唯一定位一台手机,为了便于使用,我们的设备ID一般取其中的部分字段做hash,比如hash(MAC地址+IMEI)。

有些刷量的工具依赖于虚拟机,开发虚拟机或者修改android模拟器来模拟不同的硬件设备。从分层角度上看,android系统从下到上可以抽象为这几层 :设备硬件层,应用框架层API,和应用APP,其中设备+API 两层就可以看做是实现了虚拟机。
应用层App直接与API打交道,相同的api调用,不同的返回就相当于不同的虚拟机了。

  • APP
  • API
  • 硬件设备

hook简介

Cydia Substrate hook框架可以hook Java和 C native层的代码,运行时改变代码的实现,是一个很强大的hook工具,也能做为很强大的调试工具。

官网地址:http://www.cydiasubstrate.com/

SDK下载地址:http://asdk.cydiasubstrate.com/zips/cydia_substrate-r2.zip

demo地址:https://github.com/zencodex/cydia-android-hook.git

hook框架:https://cache.saurik.com/apks/com.saurik.substrate_0.9.4010.apk

Cydia Substrate的使用:

  1. 前提,手机需要root权限
  2. 手机上安装hook框架apk
  3. 参考demo编写hook的源程序
  4. 使用hook框架程序link,重启手机验证

注意hook是针对这个系统的,而不是某个特定的app。某个api被hook后,比如获取手机号的api被hook,这台手机上所有的app获取的手机号都是被修改后的手机号,因此,如果手机上的设备相关api都被hook了,相当于是虚拟了一个新的手机了。

cydia substrate的使用可以参考这两篇文章

http://www.csdn.net/article/2015-08-07/2825405</

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值