头条网站selenium 无法模拟下滑

经过上次对与头条进行分析过后,发现_signature的规律不唯一,此研究的目的是为了找到问题的根本。

现将分析步骤总结如下:

  1.  当使用webdriver 执行js脚本,模拟下滑操作时, “$_cdc....” in document 为True
  2.  经过几次运算后使用 k[5] = 4  正常应该为0
  3.  _signature[22]开始生成前会进行以下运算
  4.  首先会将k[5]取出,然后进行 k[5] << 8  (模拟时k[5]=4, 结果为1024;正常情况k[5] =0,结果为0, 并将结果存入v[1]变量中)
  5. 然后 [v1] | 16 , 让v[1]与 16 进行或运算(模拟结果为1040,正常结果为16,并将结果存入v[1])
  6. 然后e=一个14位的数据(例如17673016596089), 然后 e | v[1]   (模拟结果为:-773827991, 正常结果为:-773826951,将结果存入v[1]中)
  7.  将得到的结果 v[1] >>>4 (模拟结果为:220071206,正常结果为220071271)
  8.  然后将上步骤中结果 与 一个十位数值 进行或运算(例如1610612736)  (模拟结果为:1830693942, 正常结果为1830684007)
  9.  第二十五位结果分别是将第8 步中的结果右移6位 然后与63 想与,随后加上一个数值 ,最后将数值转换为字符

     模拟结果  1830683942 >> 6 = 28604436

               28604436 & 63 = 20

     正常结果  1830684007 >> 6 = 28604437

               28604437 & 63 = 21

  

注(23位为右移24, 24位为右移12)

 

结论: 第六步给定的16位数据e 二进制后第11位为1 则模拟的_signature[25]结果小于正常;当第一位为0 则模拟结果_signature[25]大于正常。

1040 = d’10000010000’

16 = d’10000’

 

第六步中给定数据 e 是由字符串t截取一个片段,然后用u(parseint(t[],36))

解决办法:1. 通过mitmproxy 对请求的signature进行替换,

2. 通过mitmproxy 对 $cdc...进行字段进行处理

 

方法是指为了学习,未能完全整理好,如果有错误,欢迎指正。

如需转载,请注明出处! 谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值