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-极验滑块 实现加密算法的逻辑相关推荐

  1. 【原创】极验滑块验证:AST还原混淆JS

    本文仅供学习交流使用,如侵立删! 极验滑块验证:AST还原混淆JS 操作环境 win10 . mac node14.17 v_jstools reres 分析 极验验证测试:aHR0cHM6Ly93d ...

  2. 爬虫进阶教程:极验(GEETEST)验证码破解教程

    原文链接及原作者:爬虫进阶教程:极验(GEETEST)验证码破解教程 | Jack Cui 一.前言 爬虫最大的敌人之一是什么?没错,验证码![Geetest]作为提供验证码服务的行家,市场占有率还是 ...

  3. 极验滑块验证码破解与研究(二):缺口图片还原

    极验滑块验证码破解与研究(二):缺口图片还原 声明 一.缺口图片还原js分析 1. 为什么需要还原 2. 本篇文章需要用到的小工具 2.1. reres插件 3. 找到图片还原js入口函数 3.1. ...

  4. 极验滑块识别-通用滑块识别

    遇到滑块问题 在写爬虫的时候,经常会遇到滑块问题,很多次都想过尝试如何攻破滑块,但是每次都没成功,除了最开始的极验滑块,当时通过原图和滑块图的对比,能够得出缺口坐标,但是随着极验.网易.腾讯滑块的更新 ...

  5. 极验滑块验证码破解最新版

    一.简述: 最近无聊想搞一下极验的滑块验证码破解这块,发现破解js代码耗时又耗力出现版本更新可能以前的所有努力都要推翻重做,不够通用性,最后还是选用selenium + PIL 来实现滑块验证码的破解 ...

  6. 极验滑块验证码破解与研究(三):滑块缺口识别

    极验滑块验证码破解与研究(三):滑块缺口识别 声明 一.环境安装 1. 第三方库安装 二.滑块缺口识别 1. 准备工作 2. 工具函数说明 3. 接口识别原理讲解 4. 缺口识别完整代码 三.结语 * ...

  7. Js逆向教程19-websocket介绍

    Js逆向教程19-websocket介绍 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!

  8. 【原创】Python 极验滑块验证

    本文仅供学习交流使用,如侵立删! 记一次 极验滑块验证分析并通过 操作环境 win10 . mac Python3.9 selenium.seleniumwire 分析 最近在做的一个项目登录时会触发 ...

  9. Js逆向教程20-Hook基础

    Js逆向教程19-Hook基础 一.jshook Hook就是在这些流程任意环节插入自己的代码,让浏览器先执行自己的代码 然后再执行原本网站的 hook在以下流程中可以做的事情: 1.1 html流程 ...

最新文章

  1. 图片宽度自适应浏览器宽度
  2. 输入法画面_搜狗输入法去广告版,流畅再无弹窗打扰
  3. ActiveMQ_使用经验
  4. linux基础知识——僵尸进城和孤儿进程
  5. PARALLEL(并行)
  6. java applet 换行_如何用java applet 画字符串,宽度大于设定值,自动换行
  7. python开发聊天机器人_Python实现机器人聊天
  8. Linux下设置文件权限
  9. 软件测试理论、方法及流程
  10. 这些屏保让你的 Mac 闲置时也能变得美观实用
  11. python 生成诸如A001 A002 ... A100这样的序列
  12. 32 Qt 之绘图之绘制一个漂亮的西瓜
  13. 哈工大计算机科学与捄术学院,[哈尔滨工业大学]管理科学与工程
  14. android 应用软件注册与自动登录代码
  15. [附源码]Nodejs计算机毕业设计汽车维修服务系统Express(程序+LW)
  16. 查看linux 系统 服务器型号
  17. 《微观经济学》 第八章
  18. 「硬见小百科」 常见电子元器件等效电路汇总
  19. 《赢》--[美]杰克·韦尔奇
  20. 07 爬取知乎张佳玮文章

热门文章

  1. php安全新闻早八点-Microdoor-第一季
  2. 【问题篇】git在push上传代码时,报错“fatal: unable to access ‘‘: OpenSSL SS”
  3. 国庆七天测(五)马里奥
  4. SpringBoot(5)响应式编程WebFlux
  5. 雨听 | 网页数据修改
  6. orb-slam2 从单目开始的简单学习(7):Optimizer
  7. windows 环境下node开发环境搭配问题
  8. 带你彻底搞懂锁膨胀,偏向锁,轻量级锁,重量级锁
  9. 画出含有四个节点的所有二叉树形态
  10. uni-app的常见生命周期