Js逆向?qū)崿F(xiàn)滑動(dòng)驗(yàn)證碼圖片還原的示例代碼
本文列舉兩個(gè)例子:某象和某驗(yàn)的滑動(dòng)驗(yàn)證
一、某驗(yàn):aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9zbGlkZS1mbG9hdC5odG1s
未還原圖像:
還原后的圖:
從服務(wù)端請(qǐng)求來(lái)的圖片是打亂后的,給用戶(hù)看的時(shí)候是完整的,這個(gè)過(guò)程肯定是運(yùn)行了某段js代碼,將打亂的圖片進(jìn)行還原操作。所以我們需要找到這段js,然后還原它的代碼邏輯,實(shí)現(xiàn)圖片的還原操作,找到缺口距離,實(shí)現(xiàn)滑動(dòng)操作。
如果你仔細(xì)觀察的話(huà),你會(huì)發(fā)現(xiàn)還原后的圖它是canvas生成出來(lái)的
那你應(yīng)該會(huì)想到,那段js中會(huì)生成canvas,然后使用它下面的一些方法,實(shí)現(xiàn)圖片的還原操作,所以我們需要知道他啥時(shí)候生成canvas,找到位置,然后慢慢往下調(diào)試,找到還原代碼。
這時(shí)我們就需要使用油猴插件,進(jìn)行hook了。如果對(duì)油猴不了解的同學(xué),可以谷歌百度下,學(xué)習(xí)下,這是非常有用的,代碼如下:
// ==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)在來(lái)看看效果,刷新頁(yè)面:
那我們就可以能快速定位到創(chuàng)建canvas的位置了,
下面就是慢慢分析代碼了,具體就不多說(shuō)了
這個(gè)例子主要就是對(duì)油猴插件(hook)的使用吧。
二、某象:aHR0cDovL2Nkbi5kaW5neGlhbmctaW5jLmNvbS9jdHUtZ3JvdXAvY2FwdGNoYS11aS9kZW1vLw==
同樣的驗(yàn)證碼圖片還原也是使用canvas生成的,如果使用上面的方式的話(huà),沒(méi)啥效果的
但是通過(guò)search關(guān)鍵字canvas
還是能過(guò)發(fā)現(xiàn)一些貓膩的。
好了,兩個(gè)例子就是這樣了,具體還原代碼,有興趣自己去實(shí)現(xiàn)吧。
到此這篇關(guān)于Js逆向?qū)崿F(xiàn)滑動(dòng)驗(yàn)證碼圖片還原的示例代碼的文章就介紹到這了,更多相關(guān)Js逆向滑動(dòng)驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- js逆向解密之網(wǎng)絡(luò)爬蟲(chóng)
- JS正則表達(dá)式驗(yàn)證密碼強(qiáng)度
- js判斷密碼強(qiáng)度的方法
- js實(shí)現(xiàn)登錄時(shí)記住密碼的方法分析
- JS實(shí)現(xiàn)表單中點(diǎn)擊小眼睛顯示隱藏密碼框中的密碼
- javascript實(shí)現(xiàn)前端input密碼輸入強(qiáng)度驗(yàn)證
- javascript實(shí)現(xiàn)京東登錄顯示隱藏密碼
- JS實(shí)現(xiàn)密碼框效果
- JavaScript實(shí)現(xiàn)密碼框輸入驗(yàn)證
- JavaScript逆向案例之如何破解登錄密碼
相關(guān)文章
JavaScript操作Oracle數(shù)據(jù)庫(kù)示例
這篇文章主要介紹了JavaScript操作Oracle數(shù)據(jù)庫(kù)示例,本文使用ActiveXObject實(shí)現(xiàn)訪(fǎng)問(wèn)Oracle數(shù)據(jù)庫(kù),需要的朋友可以參考下2015-03-03JavaScript觸發(fā)onScroll事件的函數(shù)節(jié)流詳解
這篇文章的內(nèi)容是說(shuō)說(shuō)最近在工作中遇到過(guò)的常見(jiàn)的問(wèn)題。主要是關(guān)于JavaScript觸發(fā)onScroll事件的函數(shù)節(jié)流,文中由一個(gè)常見(jiàn)的問(wèn)題開(kāi)始展開(kāi),一步步的介紹解決的方法,有需要的朋友們下面來(lái)跟著小編一起看看吧。2016-12-12詳解js模板引擎art template數(shù)組渲染的方法
art-template 是一個(gè)簡(jiǎn)約、超快的模板引擎。這篇文章主要介紹了詳解js模板引擎art template數(shù)組渲染的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10詳細(xì)聊聊對(duì)async/await的理解和用法
隨著Nodev7的發(fā)布,越來(lái)越多的人開(kāi)始研究據(jù)說(shuō)是異步編程終級(jí)解決方案的 async/await,這篇文章主要給大家介紹了關(guān)于對(duì)async/await的理解和用法,文中通過(guò)實(shí)例代碼介紹的介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Bootstrap基本插件學(xué)習(xí)筆記之折疊(22)
這篇文章主要為大家詳細(xì)介紹了Bootstrap基本插件學(xué)習(xí)筆記之折疊的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12