赞
踩
抖音版本里面加了好几个算法,有as,cp(早期就这两个),mas,X-Gorgon,X-SS-STUB,X-Khronos算法,很多关键key之间有相互关联,只要有一个环节算错了,就会请求不到数据。目前版本的抖音加了很多的验证,及代码混淆,难度偏大。
抖音的签名算法在libcms.so中,在JNI_Onload中动态注册jni函数。
算法用ollvm混淆了,主要是流程平坦化,流程混淆和运算替换
主要用到一些逆向工具IDA,Xposed框架
8.0版本之后的算法主要是X-Gorgon和X-SS-STUB.之后经过抓包抖音接口,查看Java层,so层代码,分析如下原理。
具体使用方法为
请先分析抖音接口影响因子,有的是cookie+form+url 有的是form+url,有的只是url,根据影响不同,传入参数也不同,如果没有影响,那么对应的参数要填空,否则拿来请求会不通过
Content-Typeapplication/x-www-form-urlencoded
post
api_token:d63cbf0daffb92fc7b161f4b32b07fec
充值后给的api_token
url:https://ib.snssdk.com/service/1/app_notice_status/?ac=WIFI&iid=90589159330&device_id=69611166288&os_api=18&app_name=aweme&channel=App%20Store&idfa=F39847A9-464E-4073-AE50-54595BA2A49C&device_platform=iphone&build_number=83101&vid=8B66FDBE-9CC1-46C0-B1C3-7423B51CA782&openudid=921adae173f64b4f15e0517c3ea0d976308c014e&device_type=iPhone7,2&app_version=8.3.1&js_sdk_version=1.32.2.1&version_code=8.3.1&os_version=12.4.2&screen_width=750&aid=1128&mcc_mnc=46007
对方接口完整url,url中参数有转义字符需要先转义,比如空格转义为%20
form:aid=1128&app_name=aweme&device_id=69611166288&ext=%7B%0A%20%20%22alert_setting%22%20%3A%20%22enabled%22%2C%0A%20%20%22alert_style%22%20%3A%20%22banner%22%2C%0A%20%20%22notification_center_setting%22%20%3A%20%22enabled%22%2C%0A%20%20%22lock_screen_setting%22%20%3A%20%22enabled%22%2C%0A%20%20%22show_prviews_setting%22%20%3A%20%22always%22%2C%0A%20%20%22authorization_status%22%20%3A%20%22authorized%22%2C%0A%20%20%22badge_setting%22%20%3A%20%22enabled%22%2C%0A%20%20%22sound_setting%22%20%3A%20%22enabled%22%2C%0A%20%20%22push_status_level%22%20%3A%20%22defalut%22%0A%7D&install_id=90589159330¬ice=0&system_notify_status=1
post请求时的form字符串,就是body部分。参数有转义字符需要先转义,比如空格转义为%20;如果不影响,则填空字符串,接口为请求类型为get时基本都为空
needStub:
大多数情况这个不需要设置。这个是X-Ss-Stub的生成规则之一,X-Ss-Stub跟form有关。默认情况下如果form为空,X-Ss-Stub就为空。但是部分接口即使form为空,X-Ss-Stub也是有值的,也参与X-Gorgon的计算,对于这类接口,needStub必须设置为1,否则会计算错误
{
"code": 0,
"data": {
"X-Gorgon": "03543b6b00006a1f1295c4c2aba99b2d65a17890d4c4426c6fdf",
"X-Khronos": "1578030422",
"X-Ss-Stub": "930E4250D4DA4AAA9CA3647F64CD97E0"
}
}
{
"code": 401,
"msg": "api_token不存在"
}
若因使用本服务与抖音官方造成不必要的纠纷,本人盖不负责
此贴存粹技术爱好,若侵犯其他公司权益,请告知
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。