Js逆向实现滑动验证码图片还原的示例代码


Posted in Javascript onMarch 10, 2020

本文列举两个例子:某象和某验的滑动验证

一、某验:aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9zbGlkZS1mbG9hdC5odG1s

未还原图像:

Js逆向实现滑动验证码图片还原的示例代码

还原后的图:

Js逆向实现滑动验证码图片还原的示例代码

从服务端请求来的图片是打乱后的,给用户看的时候是完整的,这个过程肯定是运行了某段js代码,将打乱的图片进行还原操作。所以我们需要找到这段js,然后还原它的代码逻辑,实现图片的还原操作,找到缺口距离,实现滑动操作。

如果你仔细观察的话,你会发现还原后的图它是canvas生成出来的

Js逆向实现滑动验证码图片还原的示例代码

那你应该会想到,那段js中会生成canvas,然后使用它下面的一些方法,实现图片的还原操作,所以我们需要知道他啥时候生成canvas,找到位置,然后慢慢往下调试,找到还原代码。

这时我们就需要使用油猴插件,进行hook了。如果对油猴不了解的同学,可以谷歌百度下,学习下,这是非常有用的,代码如下:

// ==UserScript==
// @name     hook createElement
// @namespace  http://tampermonkey.net/
// @version   0.1
// @description try to take over the world!
// @author    朱宇
// @match    *://*/*
// @grant    none
// ==/UserScript==

(function() {
  'use strict';

  // Your code here...
  let _createElement = document.createElement.bind(document);

  document.createElement = function (elm) {
    console.log("createElement:",elm);
    if (elm === "canvas") {
      // debugger;
    }
    return _createElement(elm);
  }
})();

我们现在来看看效果,刷新页面:

Js逆向实现滑动验证码图片还原的示例代码

那我们就可以能快速定位到创建canvas的位置了,

Js逆向实现滑动验证码图片还原的示例代码

下面就是慢慢分析代码了,具体就不多说了

Js逆向实现滑动验证码图片还原的示例代码

Js逆向实现滑动验证码图片还原的示例代码

Js逆向实现滑动验证码图片还原的示例代码

这个例子主要就是对油猴插件(hook)的使用吧。

二、某象:aHR0cDovL2Nkbi5kaW5neGlhbmctaW5jLmNvbS9jdHUtZ3JvdXAvY2FwdGNoYS11aS9kZW1vLw==

同样的验证码图片还原也是使用canvas生成的,如果使用上面的方式的话,没啥效果的

Js逆向实现滑动验证码图片还原的示例代码

但是通过search关键字canvas还是能过发现一些猫腻的。

Js逆向实现滑动验证码图片还原的示例代码

Js逆向实现滑动验证码图片还原的示例代码

Js逆向实现滑动验证码图片还原的示例代码

Js逆向实现滑动验证码图片还原的示例代码

好了,两个例子就是这样了,具体还原代码,有兴趣自己去实现吧。

到此这篇关于Js逆向实现滑动验证码图片还原的示例代码的文章就介绍到这了,更多相关Js逆向滑动验证码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
window.addeventjs事件驱动函数集合addEvent等
Feb 19 Javascript
javascript 广告后加载,加载完页面再加载广告
Nov 25 Javascript
jQuery 获取URL的GET参数值的小例子
Apr 18 Javascript
jQuery替换字符串(实例代码)
Nov 13 Javascript
javascript正则表达式之search()用法实例
Jan 19 Javascript
JS实现文字向下滚动完整实例
Feb 06 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
May 03 Javascript
AngularJS基础 ng-show 指令简单示例
Aug 03 Javascript
js 数据存储和DOM编程
Feb 09 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
Jul 18 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
Mar 25 Javascript
JS实现拼图游戏
Jan 29 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
Mar 10 #Javascript
jquery实现烟花效果(面向对象)
Mar 10 #jQuery
非常漂亮的js烟花效果
Mar 10 #Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
Mar 10 #Javascript
微信小程序实现搜索功能
Mar 10 #Javascript
原生JS实现烟花效果
Mar 10 #Javascript
JS实现iframe中子父页面跨域通讯的方法分析
Mar 10 #Javascript
You might like
用php实现让页面只能被百度gogole蜘蛛访问的方法
2009/12/29 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
javascript 面向对象继承
2009/11/26 Javascript
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
瀑布流布局代码一例
2014/04/11 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
jquery表单验证需要做些什么
2015/11/17 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
Python WSGI的深入理解
2018/08/01 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
80年代复古T恤:TruffleShuffle
2018/07/02 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
什么是.net的Remoting技术
2016/07/08 面试题
《三顾茅庐》教学反思
2014/04/10 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
个人存款证明书
2014/10/18 职场文书
疾病证明书
2015/06/19 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers