Js逆向教程17-极验滑块 实现加密算法的逻辑
Js逆向教程17-极验滑块 实现加密算法的逻辑
还是和上节课一样,针对这个网址
https://www.geetest.com/demo/slide-float.html
一、加密算法的结果查看
计算u运行后的结果:
'a45a0551c344b03be428cab551f9755f073e64061c35988a29d6ba70e7d35c8b9e963b63e630d173843eee06a944b557f7c7348c5954fe8869293f793548216083d5dca650eba1e72395f6c22f80bddb05c44d5cdc49bd6bc4ec6a7138a0bde6bca723601cd01621159a7c6ebaf311d361234d0de12f6e8787f10ced9f19b274'
u是16进制的字符串,每次运行都会改变。
它的实现函数如下:
"\u0024\u005f\u0043\u0043\u0044\u0048": function(t) {var $_CBFJo = QBLnx.$_CM, $_CBFId = ['$_CBGCG'].concat($_CBFJo), $_CBGAZ = $_CBFId[1];$_CBFId.shift();var $_CBGBn = $_CBFId[0];var e = new U()[$_CBGAZ(353)](this[$_CBFJo(756)](t));while (!e || 256 !== e[$_CBFJo(125)])e = new U()[$_CBGAZ(353)](this[$_CBGAZ(756)](!0));return e;},
256这个数字比较特殊, 字节码是0-255,0表示的是一个字符串的结尾 1-255代表某一个字符。
256用作取模计算。、
它在while循环里 就是对一个字节值做遍历。
二、跟值技巧
从头看
- 优点 不需要重复下断点
- 缺点 要记住很多的变量值,不太适合一开始学习
从尾看
- 优点 跟值比较轻松
- 缺点 需要重复下断点
下断点
- 初始值的位置
- 循环的位置
- 返回的位置
- 函数的开头
- 函数的结尾
三、rsa加密分析
var e = new U()[$_CBGAZ(353)](this[$_CBFJo(756)](t));
看到new U()创建出来的对象,有一个setPublic:大概率是rsa加密
rsa里面叫做设置公钥 。
调用了加密的方法encrypt:
传入的参数是这个:对这个进行rsa加密
四、t()方法重写
这个参数里面调用了一个函数 这个函数的参数t是undefine
我们可以进入到这个函数里面:
往里看是调用了t方法:
所以需要找到t方法的定义
这个随机字符串 主要是通过这个生成的
(65536 * (1 + Math[$_BFBER(46)]()) | 0)[$_BFBER(215)](16)[$_BFBER(430)](1)
通过调试可以看到它是字符串
替换字符串后的代码如下
(65536 * (1 + Math["random"]()) | 0)["toString"](16)["substring"](1)
所以可以自己写一个方法
var random_ = function random_()
{var data = "";for(var i = 0; i < 4; i++){data = data + (65536 * (1 + Math["random"]()) | 0)["toString"](16)["substring"](1)}return data;
}
能够直接在控制台下运行:
这样就能够将下面的这个函数的这个参数破解掉
e = new U()[$_CBGAZ(353)](this[$_CBGAZ(756)](!0));
Js逆向教程17-极验滑块 实现加密算法的逻辑相关推荐
- 【原创】极验滑块验证:AST还原混淆JS
本文仅供学习交流使用,如侵立删! 极验滑块验证:AST还原混淆JS 操作环境 win10 . mac node14.17 v_jstools reres 分析 极验验证测试:aHR0cHM6Ly93d ...
- 爬虫进阶教程:极验(GEETEST)验证码破解教程
原文链接及原作者:爬虫进阶教程:极验(GEETEST)验证码破解教程 | Jack Cui 一.前言 爬虫最大的敌人之一是什么?没错,验证码![Geetest]作为提供验证码服务的行家,市场占有率还是 ...
- 极验滑块验证码破解与研究(二):缺口图片还原
极验滑块验证码破解与研究(二):缺口图片还原 声明 一.缺口图片还原js分析 1. 为什么需要还原 2. 本篇文章需要用到的小工具 2.1. reres插件 3. 找到图片还原js入口函数 3.1. ...
- 极验滑块识别-通用滑块识别
遇到滑块问题 在写爬虫的时候,经常会遇到滑块问题,很多次都想过尝试如何攻破滑块,但是每次都没成功,除了最开始的极验滑块,当时通过原图和滑块图的对比,能够得出缺口坐标,但是随着极验.网易.腾讯滑块的更新 ...
- 极验滑块验证码破解最新版
一.简述: 最近无聊想搞一下极验的滑块验证码破解这块,发现破解js代码耗时又耗力出现版本更新可能以前的所有努力都要推翻重做,不够通用性,最后还是选用selenium + PIL 来实现滑块验证码的破解 ...
- 极验滑块验证码破解与研究(三):滑块缺口识别
极验滑块验证码破解与研究(三):滑块缺口识别 声明 一.环境安装 1. 第三方库安装 二.滑块缺口识别 1. 准备工作 2. 工具函数说明 3. 接口识别原理讲解 4. 缺口识别完整代码 三.结语 * ...
- Js逆向教程19-websocket介绍
Js逆向教程19-websocket介绍 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!
- 【原创】Python 极验滑块验证
本文仅供学习交流使用,如侵立删! 记一次 极验滑块验证分析并通过 操作环境 win10 . mac Python3.9 selenium.seleniumwire 分析 最近在做的一个项目登录时会触发 ...
- Js逆向教程20-Hook基础
Js逆向教程19-Hook基础 一.jshook Hook就是在这些流程任意环节插入自己的代码,让浏览器先执行自己的代码 然后再执行原本网站的 hook在以下流程中可以做的事情: 1.1 html流程 ...
最新文章
- 图片宽度自适应浏览器宽度
- 输入法画面_搜狗输入法去广告版,流畅再无弹窗打扰
- ActiveMQ_使用经验
- linux基础知识——僵尸进城和孤儿进程
- PARALLEL(并行)
- java applet 换行_如何用java applet 画字符串,宽度大于设定值,自动换行
- python开发聊天机器人_Python实现机器人聊天
- Linux下设置文件权限
- 软件测试理论、方法及流程
- 这些屏保让你的 Mac 闲置时也能变得美观实用
- python 生成诸如A001 A002 ... A100这样的序列
- 32 Qt 之绘图之绘制一个漂亮的西瓜
- 哈工大计算机科学与捄术学院,[哈尔滨工业大学]管理科学与工程
- android 应用软件注册与自动登录代码
- [附源码]Nodejs计算机毕业设计汽车维修服务系统Express(程序+LW)
- 查看linux 系统 服务器型号
- 《微观经济学》 第八章
- 「硬见小百科」 常见电子元器件等效电路汇总
- 《赢》--[美]杰克·韦尔奇
- 07 爬取知乎张佳玮文章
热门文章
- php安全新闻早八点-Microdoor-第一季
- 【问题篇】git在push上传代码时,报错“fatal: unable to access ‘‘: OpenSSL SS”
- 国庆七天测(五)马里奥
- SpringBoot(5)响应式编程WebFlux
- 雨听 | 网页数据修改
- orb-slam2 从单目开始的简单学习(7):Optimizer
- windows 环境下node开发环境搭配问题
- 带你彻底搞懂锁膨胀,偏向锁,轻量级锁,重量级锁
- 画出含有四个节点的所有二叉树形态
- uni-app的常见生命周期