Js逆向?qū)崿F(xiàn)滑動(dòng)驗(yàn)證碼圖片還原的示例代碼
本文列舉兩個(gè)例子:某象和某驗(yàn)的滑動(dòng)驗(yàn)證
一、某驗(yàn):aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9zbGlkZS1mbG9hdC5odG1s
未還原圖像:
還原后的圖:
從服務(wù)端請(qǐng)求來(lái)的圖片是打亂后的,給用戶看的時(shí)候是完整的,這個(gè)過(guò)程肯定是運(yùn)行了某段js代碼,將打亂的圖片進(jìn)行還原操作。所以我們需要找到這段js,然后還原它的代碼邏輯,實(shí)現(xiàn)圖片的還原操作,找到缺口距離,實(shí)現(xiàn)滑動(dòng)操作。
如果你仔細(xì)觀察的話,你會(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生成的,如果使用上面的方式的話,沒(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)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
