抖音版本里面加了好几个算法,mas,X-Gorgon,X-SS-STUB,X-Khronos算法,很多关键key之间有相互关联,只要有一个环节算错了,就会请求不到数据。xgorgon从03开头到现在的04开头,8.8.0版本后就使用了04开头的xgorgon算法,代码混淆,难度偏大。
最近搞出开了04的算法,xlog,设备注册算法激活。feed算法等。
费了很大的功夫,
xgorgon的算法在libcms.so中,在JNI_Onload中动态注册jni函数。
算法用ollvm混淆了,主要是流程平坦化,流程混淆和运算替换。
主要是X-Gorgon和X-SS-STUB.之后经过抓包抖音接口,查看Java层,so层代码。
X-SS-STUB是post请求时body部分的md5值,但是在为空的情况下,有时候不参与加密,有时候参与加密,具体接口需要具体分析
X-Khronos比较简单就是一个unix时间戳
X-Gorgon是对cookie,X-SS-STUB,X-Khronos,Url进行混合加密之后的参数。这里也区分情况,有些接口只有url和X-Khronos参与接口加密,有些是url,X-Khronos,X-SS-STUB参与接口加密,有些则是所有都进行接口加密。
设备注册解密后
{
"magic_tag": "ss_app_log",
"header": {
"display_name": "抖音短视频",
"update_version_code&#