某电商滑块js分析
本帖最后由 ZenoMiao 于 2022-6-10 18:51 编辑js分析
通过抓包可以看到接口的参数有这一堆, 已知d是加密的参数, c是uuid, w是缺口x, e和s是接口返回的, 其余参数可固定
打断点基本可以找出来加密位置是h.getCoordinate方法加密, 而g参数是格式为[['x', 'y', timestamp], ['x', 'y', timestamp]]的轨迹, 而轨迹的xy轴并非是通过图片的长宽开始计算, 而是从滑块的整个div的长宽来计算
[["34", "177", 1654765743366], ["72", "202", 1654765743366], ["73", "202", 1654765743429], ["77", "202", 1654765743432]]
跟进去后发现, 轨迹的加密只用到了4个函数, 其中有一个方法(string10to64)是除k取余法
代码扣下来, 改一下调用的方式,运行起来异常的顺畅, 用扣下来的代码加密后的值替换也校验成功
算法还原
对于算法还原不提供源码, 只提供思路和踩坑点
string10to64
[*]注意判断a为空的时候返回0
prefix_integer
[*]主要是生成一个列表并多个值为空, 然后'0'.join()再对字符串进行切片
pretreatment
[*]参数d要取绝对值abs(d)
get_coordinate
[*]这个没啥好注意的, 只要不要传空列表就行, 不然join会报错
最后感谢@漁滒 指导 谢谢分享,学习一下 666666666666666
666666666666666 PC端的滑块吗 感谢分享思路 这个学习了 666666
感谢分享 这么丝滑的吗 赞,大大极高效率 厉害,进来学习了 学习了谢谢
页:
[1]
2