Js逆向實現(xiàn)滑動驗證碼圖片還原的示例代碼
本文列舉兩個例子:某象和某驗的滑動驗證
一、某驗:aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9zbGlkZS1mbG9hdC5odG1s
未還原圖像:
還原后的圖:
從服務端請求來的圖片是打亂后的,給用戶看的時候是完整的,這個過程肯定是運行了某段js代碼,將打亂的圖片進行還原操作。所以我們需要找到這段js,然后還原它的代碼邏輯,實現(xiàn)圖片的還原操作,找到缺口距離,實現(xiàn)滑動操作。
如果你仔細觀察的話,你會發(fā)現(xiàn)還原后的圖它是canvas生成出來的
那你應該會想到,那段js中會生成canvas,然后使用它下面的一些方法,實現(xiàn)圖片的還原操作,所以我們需要知道他啥時候生成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); } })();
我們現(xiàn)在來看看效果,刷新頁面:
那我們就可以能快速定位到創(chuàng)建canvas的位置了,
下面就是慢慢分析代碼了,具體就不多說了
這個例子主要就是對油猴插件(hook)的使用吧。
二、某象:aHR0cDovL2Nkbi5kaW5neGlhbmctaW5jLmNvbS9jdHUtZ3JvdXAvY2FwdGNoYS11aS9kZW1vLw==
同樣的驗證碼圖片還原也是使用canvas生成的,如果使用上面的方式的話,沒啥效果的
但是通過search關鍵字canvas
還是能過發(fā)現(xiàn)一些貓膩的。
好了,兩個例子就是這樣了,具體還原代碼,有興趣自己去實現(xiàn)吧。
到此這篇關于Js逆向實現(xiàn)滑動驗證碼圖片還原的示例代碼的文章就介紹到這了,更多相關Js逆向滑動驗證碼內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaScript操作Oracle數(shù)據(jù)庫示例
這篇文章主要介紹了JavaScript操作Oracle數(shù)據(jù)庫示例,本文使用ActiveXObject實現(xiàn)訪問Oracle數(shù)據(jù)庫,需要的朋友可以參考下2015-03-03JavaScript觸發(fā)onScroll事件的函數(shù)節(jié)流詳解
這篇文章的內容是說說最近在工作中遇到過的常見的問題。主要是關于JavaScript觸發(fā)onScroll事件的函數(shù)節(jié)流,文中由一個常見的問題開始展開,一步步的介紹解決的方法,有需要的朋友們下面來跟著小編一起看看吧。2016-12-12詳解js模板引擎art template數(shù)組渲染的方法
art-template 是一個簡約、超快的模板引擎。這篇文章主要介紹了詳解js模板引擎art template數(shù)組渲染的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10