某音a_bogus-1.0.1.19-fix.01-jsvmp参数分析

aHR0cHM6Ly93d3cuZG91eWluLmNvbS91c2VyL01TNHdMakFCQUFBQTBIQS1DSEpkYW9kTjVNeWp0QzVtR1ozUnFnYnRUdEFRVE9DUDJ4NEI4ek41QVE5M0tvbzVLbWZCOHJ1d3JXWWc/ZnJvbV90YWJfbmFtZT1tYWlu

接口是主页的post,因为主站很多都没有校验

熟悉某音的知道,bdms是主要加密的文件,找到上一个栈的位置打上下面的条件断点

this._url&&this._url.indexOf('aweme/post/')!==-1

刷新网站就能断到,此时还是没有我们需要的参数的单步步入,会进到主要的函数,d函数

直接在关键位置进行日志插桩,即可轻松拿到我们的日志从图中位置开始最后的魔改base64,魔改只是把ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789改成了Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe

倒着看,会发现很乱,静下心慢慢就发现,这部分其实是在拼接这个乱码,然后这个乱码用于后面的base64,所以我们根据日志遍拿到了后面base64的字节数组(直接用乱码是不行的)

我们对比两份日志,比较,就会发现,其实这个部分其实都是一个会变的数组在异或一个不变的数组

所以我们拿到了固定的数组接着,我们需要去找这个会变的字节数组

最后会跟到如图位置,这个地方可以猜测是把这个字符数组直接转换成对应的ascll码,所以我们往上找数组的生成会发现,是由8位数组和129位数组拼接而成的

8位数组的生成如图所示,127数组如下所示

可以根据日志发现,127位数组是进行了一些运算,类似base64,每次取3位,最后得到4位的结果,实现如下,所以关键的是97位数组的生成

通过搜索,快速定位到如图位置,发现最初是50位数组,然后50位数组拼接43位数组拼接3位数组拼接1位数组,得到最后的结果,其中43位数组是环境得到的

3位数组如图所示,是根据时间戳得到的

1位数组的生成比较麻烦,其中是一个大数组异或的结果,这个大数组里面有一些变量是通过一些参数生成的,跟50位数组的生成差不多

50位数组的话,是魔改的sm3加密传入的参数,得到32位结果后再次加密得到数组1

对ua进行rc4加密后通过sm3得到数组2

对字符串dhzx加密后得到数组3

紧接着通过三个数组,跟一些时间戳得到的值,aid,pageid得到50位数组

流程就是这样,各位努力吧

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值