新版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