好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 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的长宽来计算
[Python] 纯文本查看 复制代码 [["34", "177", 1654765743366], ["72", "202", 1654765743366], ["73", "202", 1654765743429], ["77", "202", 1654765743432]]
跟进去后发现, 轨迹的加密只用到了4个函数, 其中有一个方法(string10to64)是除k取余法
代码扣下来, 改一下调用的方式,运行起来异常的顺畅, 用扣下来的代码加密后的值替换也校验成功
算法还原
对于算法还原不提供源码, 只提供思路和踩坑点
string10to64
prefix_integer
- 主要是生成一个列表并多个值为空, 然后'0'.join()再对字符串进行切片
pretreatment
get_coordinate
- 这个没啥好注意的, 只要不要传空列表就行, 不然join会报错
最后感谢@漁滒 指导 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|