抖音协议抖音数据采集中的加解密算法实现

iOS版抖音协议加解密算法的实现

这两年的工作中,涉及到了抖音协议的分析部分抖音web,分析了两个与加密相关的接口。 项目结束了,分享给大家

由于项目结束,目前尚不清楚最新版本是否有变化。 当时可供测试的抖音版本:IOS 1.7.8-3.8.0

1、设备信息生成方案:

设备信息中有几个关键点:

(1)字段:该字段不是utf-8编码,而是GBK编码,需要编码转换

(2)Idfa、字段:可以通过标准UUID算法生成

(3):这个地方有点头疼。 根据所有公开信息,包括抖音自己的代码逆向,可以看出它实际上是随机生成的,但随机的无法通过服务器验证。 最后用真人替换中间16字节的方法,服务器通过率60%左右

2.//2//接口加密算法

接口中的post包体是加密的,算法其实是AES,但是不知道为什么标准AES实现的结果是错误的,不过没关系,直接从IDA伪中接就可以了代码,中间有5处需要修复xray寄存器解析错误。

3.MAS、AS、TS算法:

这部分是最麻烦的。 离线运行花了很多时间。 首先,伪代码很难修复,因为有两个问题无法解决。 1、ios API调用(如线程锁) 2、类的上下文无法初始化。 然后模拟汇编代码也是同样的问题,无法解决API调用,最后采用了Hook抖音app的tamp:函数,然后在Hook代码中阻塞线程,运行它,让抖音app初始化类并准备上下文,然后负责处理加解密抖音web,并返回MAS AS TS

源码结构简单说明:

1. API是所有加密和解密的接口。 负责为其他需要抖音加解密的服务提供加解密服务。 通过混合+C来实现。 加密和解密都是用C写的库文件。通过调用桥调用so,下一节会讲解。

2.aweme-aes是加密解密的实现,纯C代码,编译成so库,供上面API调用。

3、功能是->抖音桥,调用过程是API->->抖音lib,因为早期的解决方案是使用抖音,然后编写(交叉编译到ios)调用这个桥库,然后调用抖音应用程序实现了tamp,直接采用阻止应用程序运行的解决方案后被放弃。

4、这是hook抖音app并拦截tamp然后运行的实现。 框架就是框架代码就不上传了,搜索一下就可以了。

————————————————————————————————————————————

:专业的短视频、直播数据接口服务平台。 获取更多资讯,请联系:

覆盖主流平台:抖音、快手、小红书、

未经允许不得转载:新动力营销圈 » 抖音协议抖音数据采集中的加解密算法实现

赞 (0)

相关推荐

    暂无内容!