某音系tiktok设备注册

简介: 某音系tiktok设备注册

最近闲来无事搞了一哈tiktok单纯是因为小姐姐好看。

给大家分析一下tiktok的设备注册的逆向思路

xg的话可以hook也可以改so有机会在一起分享。

话不多学直接开干

开发环境:

  1. python
  2. frida
  3. idea
  4. fiddler


第一步打开app然后抓包,如果你不是第一部打开需要清楚缓存再打开,第一次打开的时候会发个注册包。


我们会看见这个请求devices_regiter这个请求,我们看见返回值就是我们需要的设备id,但是我们看见他post的data是二进制。不太好搞我们直接打开idea开始搜索大法。

这么多参数我们随便搜搜,真好当我们搜索这个值的时候application/octet-stream;tt-data=a。

我们发现下面一段代码:

我们直接hook它。

然后清楚缓存,重新打开程序

我们可以看到已经打印出来参数了,

{"magic_tag":"ss_app_log","header":{"display_name":"TikTok","update_version_code":160604,"manifest_version_code":160604,"aid":1180,"channel":"googleplay","appkey":"5902b0ed75ca3508bd002616","package":"com.ss.android.ugc.trill","app_version":"16.6.4","version_code":160604,"sdk_version":"2.5.5.8","os":"Android","os_version":"6.0.1","os_api":23,"device_model":"Nexus 5","device_brand":"google","cpu_abi":"armeabi-v7a","release_build":"619f7fa_20200621","density_dpi":480,"display_density":"mdpi","resolution":"1776x1080","language":"en","mc":"02:00:00:00:00:00","timezone":8,"access":"wifi","not_request_sender":0,"carrier":"KDDI","rom":"3437181","rom_version":"M4B30Z","sig_hash":"aea615ab910015038f73c47e45d21466","google_aid":"a25cfa22-29c9-4d4e-b2fb-7126c5528a46","openudid":"5f7d372afbd09096","clientudid":"0a616507-a3e4-428a-8cfc-943e82a880d8","sim_serial_number":[],"region":"CN","tz_name":"Asia\/Shanghai","tz_offset":28800,"sim_region":"JP","custom":{"filter_warn":0,"web_ua":"Mozilla\/5.0 (Linux; Android 6.0.1; Nexus 5 Build\/M4B30Z; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/44.0.2403.117 Mobile Safari\/537.36","user_period":-1,"user_mode":-1}},"_gen_time":1600052585328}

这个就是抖音的设备指纹了

我们看它java层逻辑就是讲这个二进制进行gzip压缩后在传入so里进行加密

这个方法可以改写so或者hook都可以。

然后其实抖音传入明文就行了不需要这个加密,但是tiktok感觉比抖音难一点,还必须进行加密。但是其实都不需要xg算法。

xg算法也简单讲讲吧不然感觉字数太少了:

   1.java层加密

   它的加密逻辑还是挺简单的,

第一步用?分割url,在md5加密一下然后判断请求头里的一个参数,好像只有登录需要这个,其他情况直接填充32位0,然后讲cookie进行md5,cookie可以为空,然后在填充32位0,抖音是url切割md5,md5(cookie),md(sesssid),32位0,其实抖音系都差不多,然后就是传入so进行加密可以hook,也可以改so。

我是改写的so直接调用

这个就是设备注册,将里面的参数改成随机数就行。然后我们测试一下可以用嘛

稳的一批。其实抖音系都差不都。

以后有机会在分享其他的app吧。

相关文章
|
Web App开发 iOS开发 Windows
ios获取原生系统应用的包名
ios获取原生系统应用的包名
2833 0
|
算法 Java 数据安全/隐私保护
App逆向百例|12|某电商App Sign分析
App逆向百例|12|某电商App Sign分析
910 0
|
算法 Java 数据安全/隐私保护
App逆向百例|06|某App mfsig分析
App逆向百例|06|某App mfsig分析
1444 0
|
数据安全/隐私保护
App逆向百例|10|某App x-zse-96分析
App逆向百例|10|某App x-zse-96分析
774 0
|
测试技术 API Python
掌握 Playwright:元素操作技巧大揭秘
Playwright Python 库简化了网页元素的交互,如点击和输入文本。使用 `click()` 方法可实现元素点击,`fill()` 方法用于在输入字段填充文本,而 `get_attribute()` 方法则用来获取元素属性值。这些功能在自动化测试和网页爬取中非常实用。
App逆向百例|18|某A系防护SO跳转修复
App逆向百例|18|某A系防护SO跳转修复
1134 0
|
算法 测试技术 数据安全/隐私保护
App逆向百例|14|某旅行攻略App zzzghostsigh参数分析
App逆向百例|14|某旅行攻略App zzzghostsigh参数分析
507 0
|
数据采集 JavaScript API
猿人学对抗赛踩坑记录
猿人学对抗赛踩坑记录
279 0
猿人学对抗赛踩坑记录
|
JavaScript 数据安全/隐私保护 Python
Cloudflare的分析流程
Cloudflare的分析流程
599 1
|
网络安全 iOS开发 开发者
frida环境配置、以及如何脱壳iOS包并安装到非越狱设备-制作iOS任意App分身
frida环境配置、以及如何脱壳iOS包并安装到非越狱设备-制作iOS任意App分身
2613 1