Js逆向實現(xiàn)滑動驗證碼圖片還原的示例代碼
本文列舉兩個例子:某象和某驗的滑動驗證
一、某驗:aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9zbGlkZS1mbG9hdC5odG1s
未還原圖像:

還原后的圖:

從服務端請求來的圖片是打亂后的,給用戶看的時候是完整的,這個過程肯定是運行了某段js代碼,將打亂的圖片進行還原操作。所以我們需要找到這段js,然后還原它的代碼邏輯,實現(xiàn)圖片的還原操作,找到缺口距離,實現(xiàn)滑動操作。
如果你仔細觀察的話,你會發(fā)現(xiàn)還原后的圖它是canvas生成出來的

那你應該會想到,那段js中會生成canvas,然后使用它下面的一些方法,實現(xiàn)圖片的還原操作,所以我們需要知道他啥時候生成canvas,找到位置,然后慢慢往下調(diào)試,找到還原代碼。
這時我們就需要使用油猴插件,進行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);
}
})();
我們現(xiàn)在來看看效果,刷新頁面:

那我們就可以能快速定位到創(chuàng)建canvas的位置了,

下面就是慢慢分析代碼了,具體就不多說了



這個例子主要就是對油猴插件(hook)的使用吧。
二、某象:aHR0cDovL2Nkbi5kaW5neGlhbmctaW5jLmNvbS9jdHUtZ3JvdXAvY2FwdGNoYS11aS9kZW1vLw==
同樣的驗證碼圖片還原也是使用canvas生成的,如果使用上面的方式的話,沒啥效果的

但是通過search關鍵字canvas還是能過發(fā)現(xiàn)一些貓膩的。




好了,兩個例子就是這樣了,具體還原代碼,有興趣自己去實現(xiàn)吧。
到此這篇關于Js逆向實現(xiàn)滑動驗證碼圖片還原的示例代碼的文章就介紹到這了,更多相關Js逆向滑動驗證碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaScript探測CSS動畫是否已經(jīng)完成的方法
這篇文章主要為大家詳細介紹了JavaScript探測CSS動畫是否已經(jīng)完成的方法,感興趣的小伙伴們可以參考一下2016-08-08
javascript for-in有序遍歷json數(shù)據(jù)并探討各個瀏覽器差異
這篇文章主要介紹了javascript for-in有序遍歷json數(shù)據(jù)并探討各個瀏覽器差異的相關資料,需要的朋友可以參考下2015-11-11
如何使用工具規(guī)范前端項目的commits與changelog技巧
這篇文章主要為大家介紹了如何使用工具規(guī)范前端項目的commits與changelog技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02

