Js逆向-滑動驗證碼圖片還原


本文列舉兩個例子:某象和某驗的滑動驗證

一、某驗: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還是能過發現一些貓膩的。

好了,兩個例子就是這樣了,具體還原代碼,有興趣自己去實現吧。

本文僅供學習交流,如有任何權益問題請聯系筆者刪除


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM