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 相关文章推荐
返回对象在当前级别中是第几个元素的实现代码
Jan 20 Javascript
JavaScript XML和string相互转化实现代码
Jul 04 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
Jan 15 Javascript
js控制不同的时间段显示不同的css样式的实例代码
Nov 04 Javascript
原生javascript实现简单的datagrid数据表格
Jan 02 Javascript
js实现交通灯效果
Jan 13 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
node.js 利用流实现读写同步,边读边写的方法
Sep 11 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
Aug 09 Javascript
vue-froala-wysiwyg 富文本编辑器功能
Sep 19 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
Jul 28 Javascript
jQuery带控制按钮轮播图插件
Jul 31 jQuery
微信小程序获取公众号文章列表及显示文章的示例代码
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在特殊字符前加斜杠的实现代码
2011/07/17 PHP
解析php中反射的应用
2013/06/18 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
如何在PHP中使用数组
2020/06/09 PHP
菜单效果
2006/10/14 Javascript
javascript eval函数深入认识
2009/02/21 Javascript
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
Python之文字转图片方法
2018/05/10 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
python同时替换多个字符串方法示例
2019/09/17 Python
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
英语专业毕业生自我鉴定
2013/11/09 职场文书
工业自动化专业毕业生推荐信
2013/11/18 职场文书
护士的自我鉴定
2014/02/07 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
中药学专业毕业生推荐信
2014/07/10 职场文书
股东授权委托书范文
2014/09/13 职场文书
会议开幕词
2015/01/28 职场文书
孟佩杰观后感
2015/06/17 职场文书
小学英语听课心得体会
2016/01/14 职场文书
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python