1、xg算法
相比于国内的算法,海外版tiktok的xg算法实则大同小异,但是,tiktok的风控措施比某音更早更严,绝大多数接口可以直接通过xg算法进行请求,但是核心接口比如上量、关注等,是必须配合设备注册算法一起使用的。
仔细分析,可以看到xg的加密算法有些奇怪的定义:
比如token的salt:
这里是xg的核心函数:
代码混淆得一塌糊涂啊,最新版的xg加密算法,几乎已经不能通过x-gorgon关键词搜索到了,有兴趣的小伙伴可以尝试某些其他的关键词,给大家提几个点:
一个是两次溢出判断,分别是85和256,另一个是取模运算需要根据长度随时变换
不然你就得慢慢调试了,具体调试和逆向的过程就不一一赘述了,给大家看下最后的结果:
2、设备注册算法
海外版某音tiktok跟国内版某音,注册出来的deviceid和iid还是有区别的,tiktok的deviceid比较规律,从69开头一直到现在的70开头,保持着数值的正序增长,例如:
某音:
可谓毫无规律可言
tiktok:
是不是很有规律,但是你别以为你可以遍历出来,它的规律有,也没有
该算法的难点在于两个,一个是对post数据的hook,一个是对post数据的加密
(1)hook
这是加密前的post数据局部,这部分数据在抓包工具是只能看到加密的body的
(2)加密
其逻辑相比于xg算法要简单多,但是他有两组秘钥对,
加密是根据秘钥对进行加密的,这就使得反编译的过程debug特别痛苦。