1、用到的工具等:
Charles (轻易一个抓包工具即可,哪个棘手用哪个)
动静字段: x-gorgon:0408* (结尾)
抖音Version:12.8.0 (发帖时的最新版本)or 抖音极速版 (文件少,编译快)
IDA or JEB
Jadx-gui
frida
Pycharm
root 真机(Android) or 模拟器
2、反编译:
Apk 间接丢入 Jadx-gui or Apk==>zip ==> 解压 ==> .dex 全副打包丢入 Jadx-gui
查找关键字: x-girgon
先看调用处:
这个so 文件全名: libcms.so apk压缩包中能够找到。
接下来看看函数申明处:
代码不能被工具完满还原,试了几个工具都这球样,不用浪费工夫折腾了。间接看吧,功底好的能够间接看Smali 代码。
能够看到r8 即为想要的值,向上查找r8
其中 com.ss.a.b.a.a() 是重载函数,hook时须要留神下。
贴附一段Frida 代码: 留神overload("")
这块儿的代码是能够失常展现的,很好还原:
接下来到了难点:
byte[] r0 = com.ss.sys.ces.a.leviathan(r8, r7, r0)
这个不太好还原, 三个参数:
native 润饰的 leviathan ()函数, 对应的办法体在最早加载的 cms.so 中。
能够应用ida or jeb 进行查看,会发现没有到处函数,其应用了花指令混同的加密措施。
破解难度太大,能够思考换了一种简略的调用形式进行解决
优先举荐 : frida-rpc, 实现思路如下: 具体的自行欠缺
(我本人应用的java 进行被动调用的,想理解的能够关注后留言,或者微信)
这种形式比较简单,还能够开微服务。
其中传递进去的参数能够应用frida hook 进行获取
输入后果为:
参数1: -1
参数2: 十位工夫戳(来自url参数中的十三位工夫戳)同 x-khronos 雷同。
参数3: post参数的data 局部,就是下图中的r0
参数整顿:
r0 = md5(url?后的参数) 对网址的参数进行md5
r13 = x-ss-stub,只有post时才无效,否则是32个0
r11 = md5(cookie) 对cookie进行md5
r12 = md5(cookie['sessionid']) 对cookie外面对sessionid进行md5,否则也是32个0
——————————————————————————————————————————
TiToData:业余的短视频、直播数据接口服务平台。
更多信息请分割: TiToData
笼罩支流平台:抖音,快手,小红书,TikTok,YouTube