## 某手势验证码协议分析 终篇
某手势验证码协议分析 终篇
地址:aHR0cHM6Ly93d3cudmFwdGNoYS5jb20v
文章只提供学习,如有侵权请立即联系我。
这篇讲什么呢????
这篇就说最后一个请求 validate 。。。
效果就是下面这样 我们通过轨迹 获取到token
废话不多说了
言归正传
我们打开network 看下 请求栈 看一下
vi k d 我们在上面的章节都有讲过 就不在进行讲解了
主要就是en 了
en 也讲过 那是在 获取 验证码环节 但是这个en 有啥区别呢
那我们进行分析看一下哈
点进去看一下
这是传入的参数
那么我们要弄明白这些参数是什么就可以了
后面的加密函数 和我们 分析获取 验证码那个章节是一样的 就不在进行分析了
那我们来 看看这些分别是什么
向上 追
这里可以看到 原来 p 是 globalPow 那么 globalPow 我们在上个章节讲过
是通过 r 进行 pow® 生成的
我们继续往上看
这里看到 vi k ch cw 都是固定可以拿到的
只有v 是加密得来的
_0x5e10f6 是鼠标轨迹
下面这个则是加密轨迹的算法
var _0x347c11 = {'_sample': 'abcdefgh234lmntuwxyz','_convertScale': function(_0x23951f) {_0x23951f = Math['floor'](_0x23951f);var _0x5cde6c = this['_sample'][_0x23951f % 0x14];_0x23951f = Math['floor'](_0x23951f / 0x14);var _0x2d66f2 = this['_sample'][_0x23951f % 0x14];var _0x3753a5 = Math['floor'](_0x23951f / 0x14);_0x3753a5 = _0x3753a5 ? this['_sample'][_0x3753a5] : '_';return '' + (_0x3753a5 || '_') + (_0x2d66f2 || '_') + (_0x5cde6c || '_');},'assemblyCoordData': function(_0x18dcc8) {var _0xe08241 = [];var _0x43842e = [];var _0x2c4b1d = [];for (var _0x103809 = 0x0, _0x5044c1 = _0x18dcc8; _0x103809 < _0x5044c1['length']; _0x103809++) {var _0x86d38d = _0x5044c1[_0x103809];_0xe08241['push'](this['_convertScale'](_0x86d38d['x']));_0x43842e['push'](this['_convertScale'](_0x86d38d['y']));_0x2c4b1d['push'](this['_convertScale'](_0x86d38d['time']));}return _0xe08241['join']('') + _0x43842e['join']('') + _0x2c4b1d['join']('');}};
我们在仔细看一下轨迹
其实轨迹是经过处理的
第一个 坐标和第二个坐标的 x 值 和 y 值 中间有差值
说明处理过
然后 点击坐标 也处理过
通过分析 发现 他们处理坐标的 分别是这两个方法 我们分别进去看一下
这个是 减去了 canvas 的 canvasTop 以及 canvasLeft 就是说明 x,y 坐标有偏移
这个地方 调用了 _isAvailableData 这个方法进行添加数据 后面 传入了 0x5
我们进入 _isAvailableData 看一下
这就应该能明白了
就是 处理 轨迹 看是否适合添加入到轨迹列表
现在 我们找到了 轨迹 并且 通过 轨迹加密算法 进行加密轨迹 就得到了 v 现在 所有的传入参数都全了
我们在来看加密en 的算法 和 加密 获取图片验证码的 en 有什么区别么???
我们发现并没有 其他多出的加密算法 和第一第二篇 我们分析的 都是一样的 只是加密规则不同顺序而已
至此 整个 手势验证码协议 我们分析结束。
喜欢的点赞支持 ,
最终的整合代码 我就不放了 !!!!
最终希望大家都可以 拿到 想要的结果!!!!!!!!!!
VaptchaJsonp1639204233580({“code”: “0103”,“data”: {“token”:“1639382045FCSZnRd0428”,“frequency”:1.63,“rate”:90},“msg”:“”})
## 某手势验证码协议分析 终篇相关推荐
- 某手势验证码协议分析 一
某手势验证码协议分析 地址:aHR0cHM6Ly93d3cudmFwdGNoYS5jb20v 文章只提供学习,如有侵权请立即联系我. **首先抓包分析 ** 发现总共有三个请求包 1.获取config ...
- Linux网络编程篇之ICMP协议分析及ping程序实现
Linux网络编程系列: Linux网络编程篇之Socket编程预备知识 Linux网络编程篇之TCP协议分析及聊天室功能实现 如果对Linux网络编程,对socket通信不是太清楚的同学,强烈推荐看 ...
- QQ2007Bate3协议分析——登录认证篇
作者:charytang 联系方式:Email: runtang@vip.sina.com QQ:3398171 创建时间:2007年7月31日星期二 1. 说明: 本文以QQ2007 ...
- 协议篇————10、SMTP协议分析
第一章.SMTP概述 1.1 SMTP在邮件通信中的位置 SMTP,即简单邮件传送协议,所对应RFC文档为RFC821.同http等多数应用层协议一样,它工作在C/S模式下,用来实现因特网上的邮件传送 ...
- TLS协议分析 与 现代加密通信协议设计
本文目标: 学习鉴赏TLS协议的设计,透彻理解原理和重点细节 跟进一下密码学应用领域的历史和进展 整理现代加密通信协议设计的一般思路 本文有门槛,读者需要对现代密码学有清晰而系统的理解,建议花精力补足 ...
- QQ2007正式版协议分析
本文不是技术贴,想找现成的分析好的协议的人建议别往下看,要找可以去伟大的Luma那看SDK,自从一年前粗略的写了下2006的登录过程分析后,短时间内翻版无数,而且都比原版销量好的多-_-#,更有甚者引 ...
- 《浅谈整车SOA架构》终篇:整车SOA系统设计
<浅谈整车SOA架构>终篇:整车SOA系统设计 参考链接: 1.https://zhuanlan.zhihu.com/p/330973653 2.<浅谈整车SOA架构>第1篇: ...
- vaptcha、京东、58等手势验证码图像识别与轨迹提取(思路)
因受到不可抗拒原因!此博客将于近期删除感谢大家的支持! 2020.11.18更: 博客已整改 涉嫌违规技术栈以去除! 感谢大家的支持! 完结不更! 2020.8/25 更: 祝大家,七夕节快乐! Fl ...
- 某游戏盒登录协议分析
前言 距离上次写博客已经过去了一个月,博主本人在这期间也分析了不少案列,这次分享一个比较综合的案例,难易程度偏简单,适合协议分析练手,下面直接进入正题. 准备工作 首先我们得安装抓包软件,我这里是用F ...
最新文章
- excel去重_你好Python!再见Excel?
- Java JNI简单实现
- 聚集云原生,可观测性的实践与探索 | 线下技术沙龙
- Python3 已经安装相关库,Pycharm 仍然报错 ModuleNotFoundError: No module named 'xxxxxx' 的解决办法
- deserializer does not exist: org.openx.data.jsonserde.JsonSerDe
- (宏)Word修改段落行距为固定值24磅
- 17.企业应用架构模式 --- 会话状态模式
- 【产品】 产品设计:ID设计和MD设计详解
- 电容器的 ESR 参数
- 服务器大线程有什么作用,全面剖析超线程技术优点与缺点
- 刘夏真的简历中国科学院计算机所,计算所智能计算机研究中心党支部正式成立...
- Android P 电量管理
- 省市区三级联动area
- Qt5.9/C++架构实例(一个简单的MCV架构应用实例)
- 【码农学编曲】RealGuitar3常用技法
- Matlab利用牛顿迭代法求解非线性方程组
- 如果流浪地球,信息科学能做什么
- box-shadow用法总结
- Day9--MATLAB常用绘图命令
- 思科设备静态路由配置
热门文章
- 哈工大计算机专业师资队伍,黄荷姣 - 教师名录 - 教师队伍 - 哈尔滨工业大学(深圳)...
- oracle指定查询行数
- Vue3 学习笔记 —— 破坏式更新、自定义指令 directive
- 王者礼包助手隐私政策
- 配置表测试框架搭建-①介绍篇
- MLDEV[15] | pyspark杂记
- 按键精灵判断与循环的使用
- 按关键词搜索1688商品接口,关键词搜索1688商品接口,1688搜索商品列表接口,接口接入说明
- Vue 插件 html2canvas 将页面内容生成图片
- 红米k40s和红米note11pro哪个值得买 两者配置对比