新版D音由于插入了过多破坏性代码,已经无法由jadx反编译成功了,太多地方都解析失败。我尝试用MT管理器换引擎反编译,也都是一样的结果。这里如果想分析,需要jadx结合smali代码硬啃。我对着smali啃了一个参数,有些蛋疼。。于是还是用豌豆荚下了历史版本,反编译看java了。

抓包

首先还是登录抓包:

首先是post请求,有query、body、cookie和另外的一些字段。换个手机号登录再抓一次作对比。参数太多,不方便看,切换到WebForms选项卡,对比参数,首先是query。第一次抓包:

第二次抓包:

可以看到变化的只有 ts 和 _rticket,很容易看出来,一个是10位时间戳,一个是13位时间戳。那么query方面可能没有我们太需要关注的地方。

然后body:

手机号与密码经过了加密。再看下其他内容:

X-Khronos与X-SS-REQ-TICKET依然是时间戳,这里需要注意的参数是X-Gorgon、X-SS-STUB和x-tt-trace-id。对比两次请求,我们发现x-tt-trace-id里中间有一部分与末尾部分是相同的,猜测与cookie或是一些本地配置参数有关。cookie重新打开了几次,也没有发生变化,暂时也不看。这个cookie的生成盲猜要比登录协议复杂得多。

那么确定下来需要找的参数:body中的password、mobile、header中的X-Gorgon、X-SS-STUB和x-tt-trace-id。

分析

还是惯例,jadx全局先搜一波url呗。

很容易的就找到这里。可以看到在将手机号与密码put进map之前,执行了StringUtils.encryptWithXor函数:

比较简单,先转成bytes数组,逐位与5进行亦或,最后再转成16进制拼接为字符串。验证一下:

相同。密码同样。

然后分析header中的字段。搜索X-Gorgon,找到这个类:

一个匿名类,我们hook一下a方法。这里夜神模拟器的firda又出问题了,换真机测试。。hook脚本与输入结果如下:

第一个参数str也就是完整的url,第二个参数map就是所有其他的headers参数,包括cookie、x-ss-req-ticket、user-agent、accept等参数。同时x-tt-trace-id与X-SS-STUB在此之前就已经赋值:

回到代码分析,我们找到X-Gorgon的来源:a3,a3是通过调用上面的函数得到的。

大概要找出来的参数有:i,a2,str4,str5,str6,那个currentTimeMillis是10位int类型的时间戳。

我们先hook最后的a.a方法,看看a2、str4、str5、str6是什么:

几乎没任何参考价值。。还是一步一步看。

a2:

由d.a(b2)得到,b2由tt.d(str)得到,str是url。看看tt.d做了什么:

对url进行了切割,获取?到#的部分,也就是query部分。再看d.a():

对query部分进行md5,解决一个。

str4:从Map中取X-SS-STUB,如果有则赋值,否则赋为32个0;

str5和str6都在这里:

首先是str5,对cookie进行md5。str6对cookie先调了tt.e():

就是从cookie里取sessionid,然后再md5。以上4个参数如果为空,就赋32个0。最后是a.a:

各种位运算。懒得看了。接下来分析i:

如果map中有“META-SHADOWMAZE”则为1,否则为-1。

然后是一个巨长无比的调用链:

最外层的a:

以及发现惊喜的leviathan,native!惊不惊喜意不意外!不往下看了

android 爬虫 协议分析,安卓逆向:分析抖音登录协议相关推荐

  1. X猫免费小说安卓逆向分析

    x猫免费小说安卓逆向分析 难度(♥) 文章目录 x猫免费小说安卓逆向分析 难度(♥) 1. 查壳 2. 抓包分析 3. sign 1. Frida-rpc 1. 查壳 我这边使用的是ApkTool, ...

  2. 20145307陈俊达_安卓逆向分析_Xposed的hook技术研究

    20145307陈俊达_安卓逆向分析_Xposed的hook技术研究 引言 其实这份我早就想写了,xposed这个东西我在安卓SDK 4.4.4的时候就在玩了,root后安装架构,起初是为了实现一些屌 ...

  3. 移动安全逆向著作《Android应用安全防护和逆向分析》终于发售了,先来一波签名送书福利!

    经历了一年半,我的毕生精力著作终于和大家见面了,写书很不容易,这段时间感谢大家对我的文章的支持和肯定,也有很多同学和我反馈要是能写一本书这么详细介绍内容就好了.其实我一直在写,只是没有写好的那一天还不 ...

  4. [安全攻防进阶篇] 一.什么是逆向分析、逆向分析应用及经典扫雷游戏逆向

    从2019年7月开始,我来到了一个陌生的专业--网络空间安全.初入安全领域,是非常痛苦和难受的,要学的东西太多.涉及面太广,但好在自己通过分享100篇"网络安全自学"系列文章,艰难 ...

  5. android怎么玩大头特效,安卓系统上抖音大头特效怎么弄?

    安卓系统上抖音大头特效怎么弄?相信很多小伙伴都下载过抖音或者玩过抖音,小编之前刚下抖音的时候,一天刷短视频2个小时,感觉时间好快啊.不过,光看,自己不动手制作,好像缺了点什么?那本期小编就根据自己用安 ...

  6. Android 使用ViewPager2+ExoPlayer+VideoCache 实现仿抖音视频翻页播放

    1. 实现效果 效果图中,视频没有铺满 是因为使用了ExoPlayer的RESIZE_MODE_FIT模式, 虽然使用RESIZE_MODE_FILL模式可以填充整个父布局,但是本Demo中使用的视频 ...

  7. HTML抖音登录界面的基本代码

    HTML和CSS的抖音登录界面代码(无跳转) 主代码 <!DOCTYPE html> <html lang="en"> <head><me ...

  8. 为什么抖音总显示连不上服务器,抖音登录不上怎么回事

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 以抖音v12.5.0为例,抖音登录不上,一般来说都是由于网速过慢,无法连接抖音的服务器.网速过慢一般都是由于手机的信号过低,或者是 ...

  9. 用python写一个抖音登录代码

    好的,以下是一个用Python写的抖音登录代码示例: import requestsurl ="https://aweme.snssdk.com/passport/user/login/&q ...

最新文章

  1. 计算机函数模式的用处是啥,请问怎么理解计算机中的函数?
  2. Spark rdd 介绍,和案例介绍
  3. codeforces 940E Cashback 有趣的dp
  4. modsecurity(尚不完善)
  5. iOS底层探索之类的结构—cache分析(上)
  6. Wheel ProgressBar 实现之三——模拟进度过程
  7. 莫烦 Python 基础
  8. ElasticJob‐Lite:更换事件追踪数据源应用启动报错
  9. 微信html5 下拉刷新,微信小程序下拉刷新:onPullDownRefresh正确使用姿势
  10. MySQL 运维 - 高阶SQL语句
  11. iReasoning MIB Browser显示中文乱码问题
  12. 算法 c语言实现 英文版 pdf,数据结构与算法分析++C语言描述++英文版++..pdf-得力文库...
  13. 乔布斯时代的“老人”,一个个都离开苹果了
  14. 将VOC格式标注文件转换为Yolo格式
  15. 嵌入层(Embedding Layer)与词向量(Word Embedding)详解
  16. 一文搞懂 STL 中 deque 与 hashtab 的底层实现
  17. 《亲爱的热爱的》:CTF黑客在线恋爱
  18. matlab示波器图形导出,(最新整理)Matlab-simulink示波器图形保存
  19. OPNET14.5 License file expired 过期
  20. 车道级导航风口已至,谁在抢占前装车载市场新商机?

热门文章

  1. day02 听写 vue
  2. 语音对讲---基于图灵机器人+科大讯飞
  3. 现在开始努力掌握递归算法
  4. gpu算力测试软件,云算力用什么显卡
  5. Vue 图形验证码实现 详解
  6. IEDA 设置代码模板
  7. 在Pixel 4 XL上尝试具有对象检测功能的Android NNAPI ML加速器
  8. JavaScript 全局
  9. 鸿蒙3.0系统下载,华为鸿蒙OS3.0系统下载
  10. mysql测试数据库employees一些sql语句