当前位置: 移动技术网 > IT编程>脚本编程>Python > Js逆向-滑动验证码图片还原

Js逆向-滑动验证码图片还原

2020年03月10日  | 移动技术网IT编程  | 我要评论

风云座,安徽保姆在上海,公象

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

一、某验:ahr0chm6ly93d3cuz2vldgvzdc5jb20vzgvtby9zbglkzs1mbg9hdc5odg1s

未还原图像:

还原后的图:

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

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

那你应该会想到,那段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);
    }
})();

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

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

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

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

二、某象:ahr0cdovl2nkbi5kaw5neglhbmctaw5jlmnvbs9jdhutz3jvdxavy2fwdgnoys11as9kzw1vlw==

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

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

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

本文仅供学习交流,如有任何权益问题请联系笔者删除

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网