采集抖音数据时,除了加密参数x-gorgon外,还有一个很重要的点就是设备信息,分别有两个参数device_id和install_id。
一、注册分析
我这边发现,每次安装抖音App后,第一次打开,App会向一个接口发送注册请求(注册接口:https://log3-misc.amemv.com/service/2/device_register),会返回device_id和install_id,不过请求的body部分是经过加密的。
![某音App设备注册 某音App设备注册](https://vip1.loli.io/2022/04/08/oI3qPb2ashZ7mEv.png)
然后我就反编译APK后用JD-GUI工具看了下代码。
直接搜索device_register,然后发现在com.ss.android.deviceregister.b.c类下发现注册时调用了一个方法sendEncryptLog,这方法在com.ss.android.common.applog.NetUtil类下,我们直接分析这块代码。
分析后发现,当sendEncryptLog方法返回null时,body数据会不进行加密。
拿出Frida,直接hook,强行在sendEncryptLog方法中返回null。
Java.perform(function () { | |
var n = Java.use('com.ss.android.common.applog.NetUtil'); | |
n.sendEncryptLog.implementation = function (v1, v2, v3, v4) { | |
if (v1.indexOf('device_register') > 0){ | |
return null | |
}else { | |
return n.sendEncryptLog.call(this, v1, v2, v3, v4) | |
} | |
} | |
}); |
然后重装下App,打开,抓包后发现,body部分显示明文了。
![某音App设备注册 某音App设备注册](https://vip2.loli.io/2022/04/08/qNw2yLMPntDQzrk.png)
然后我们模拟下这个请求就可以了。
二、最终效果
![某音App设备注册 某音App设备注册](https://vip1.loli.io/2022/04/08/ETkcsP9JeiWZhHu.png)
模拟下刚刚的请求,就可以得到新的设备信息了,new_user为1的时候表示是新设备,请求的设备信息记得改。
标签:某音,sendEncryptLog,App,注册,device,com,id From: https://www.cnblogs.com/Summi/p/16600700.html