本文通过某验和某象两个案例,详解Js逆向中滑动验证码图片的还原方法。重点讲解如何利用油猴插件Hook document.createElement定位Canvas生成位置,以及通过搜索关键字分析混淆代码,从而获取缺口距离实现自动滑动。
Js逆向还原滑动验证码概述
本文通过两个具体案例,演示某验和某象滑动验证码的图片还原过程。
某验案例:利用油猴Hook定位Canvas
一、某验案例: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生成的。如果直接沿用上述方法,可能无法直接生效。

但是,通过搜索关键字canvas,我们仍然能发现一些关键线索。




以上便是两个案例的简要说明。具体的还原代码实现,有兴趣的读者可自行尝试。
到此这篇关于Js逆向实现滑动验证码图片还原的示例代码的文章就介绍到这了,更多相关Js逆向滑动验证码内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!