[Python] 某易易盾—推理拼图验证的安全分析
非原创,转载收藏学习.非原创,转载收藏学习.非原创,转载收藏学习.
原生帖子传送门: https://www.52pojie.cn//thread-1583574-1-1.html
项目仓库传送门:GitHub - nemanja-m/gaps: A Genetic Algorithm-Based Solver for Jigsaw Puzzles
首先看一下目标的验证形态是什么样子的 是一种通过验证推理的验证方式,用来防人机破解的确是很有效果,但是,But,这里面已经会有一些破绽,比如: (以上是原图和二值化之后的结果) (这是正常图片) 像划红线的这些地方,可以看到有明显的突变,并且二值化之后边缘趋于直线,但是正常图像是不会有这种这么明显的突变现象。 初识潘多拉后来,我去翻阅了机器视觉的相关文章和论文,发现了一个牛逼的算法,这个算法就是——Genetic Algorithm遗传算法,最贴心的的是,作者利用这个算法实现了一个功能,“拼图自动还原”(不是像什么A*算法寻找最优路线解那种哈,就是单纯的拼图)项目仓库地址 首先来介绍下如何使用跑起来这个项目吧,坑是真的很多,接下来感受一下pyCham的一路报错! 这里我用的是python3.10的版本,目前是最新的版本 文档中这一步执行是会报错的
解决方案:单独对requirements.txt文件下的每个包单独下载,然后根据当前下载的包的最新版本替换旧版本号。 我目前每个包最新使用的是这些版本号 全部替换完了之后,再执行一次下面的代码,他就不会报错了
然后下一步,执行下面代码
进入潘多拉然后我们按照官网的提示来执行,先创建一个拼图出来,命令是这样的(这里的文件名我改了)
会发现,好像不行,因为我们没有在正确的位置上执行,他的脚本位置是在bin文件夹下面,你可能会遇到如下问题 成功之后的话,会在bin目录下生成一个拼图图片 以上是介绍如何生成图片,接下来是重头戏,如何还原图片
对于参数的解释官网是这样的: Option : --image Path to puzzle(需要被还原的图片) --size Puzzle piece size in pixels (拼图的大小) --generations Number of generations for genetic algorithm (遗传算法的代数) --population Number of individuals in population --verbose Show best solution after each generation (显示每一代后的最佳解决方案) --save Save puzzle solution as image (拼图结果另存为图像) 先按照官方的走一遍 很好,很舒服,继续报错,而且语法拼写上我们也没有拼写错,没关系!我已经帮你找到解决方案了。
或者你不指定遗传代数和人口数
这是完全还原的结果,至此,我们披荆斩棘从解决项目报错,一路挖坑填坑到demo成功运行,到这里我们已经成功了60%,接下来就是如何利用这个项目,去破解网易易盾的推理拼图验证。 探究潘多拉的秘密首先看一下项目目录: gaps文件夹下面是所有模块的源码,作者对各个基础功能做了封装,但是我们想要的功能并不存在,就需要自行阅读和理解源码,然后二开实现自己想要的功能。 我们主要关注这个文件individual.py: 我来用大白话给你翻译一下吧,“在所有排列中,帮你找出最优解” 输出这个映射,结果是这样的,正好是我们想要的东西 下面会有一个创建图像的方法,这是最后得到最优解图像拼接函数 那么,我们将最后的索引映射取到就OK了! 以下为最优解的映射值输出实例: 初始化的时候,新增一个变量用来存储最后的结果
自定义一个函数
每次执行的时候,将最优解传递出去
以上,就把我们想要的结果输出了 调用: key为最后的结果标志,value为原始标志。 PS:对于极度复杂的原始图片创建的拼图,在还原之后,误差会挺大的。 |
image.png
[Python] 某易易盾—推理拼图验证的安全分析相关推荐
- 网易易盾——推理拼图验证码参数逆向分析和调用
之前发过一篇文章,<对无序的验证码拼图还原>,地址在这里,本篇文章主要是对验证的提交参数进行逆向分析,成功演示结果在最底部 目标网址 aHR0cHM6Ly9kdW4uMTYzLmNvbS9 ...
- Python识别验证码----网易易盾推理拼图
Python识别验证码----网易易盾拼图推理 写在前面 数据特点 获取数据 识别思路 识别结果 改进点 写在前面 近日某众打码平台被跑路的消息一出,脚本圈中一片哗然(我并不是脚本圈的,只是喜欢看群里 ...
- 行为式验证码家族再添一员 网易易盾推出推理拼图验证码
近日,网易易盾正式对外推出推理拼图验证码,通过业内首创的逻辑推理+图块形式,解决找回密码.账号解冻.拉新领券等高安全等级场景下,人机高精准识别的需求. 前台使用上,用户只需要拖动需要交换的2个图块,复 ...
- 【愚公系列】2022年12月 .NET CORE工具案例-滑块验证码和拼图验证功能实现
文章目录 前言 1.滑块验证码的定义 2.滑块验证码的安全性分析 3.滑块验证码的第三方服务 一.滑动验证码和拼图验证功能实现 1.逻辑分析 2.新建项目 3.配置缓存 4.配置跨域 5.后端源码 6 ...
- python过京东app图形验证勾股定理_拼图验证勾股定理及勾股定理中的数学思想
[同步教育信息] 一.本周教学内容: 拼图验证勾股定理及勾股定理中的数学思想 勾股定理是反映自然界基本规律的一条重要结论,在现实世界中有广泛应用.在运用勾股定理解决实际时,若能结合运用一些数学思想,则 ...
- 让 Python 代码更易维护的七种武器——代码风格(pylint、Flake8、Isort、Autopep8、Yapf、Black)测试覆盖率(Coverage)CI(JK)...
让 Python 代码更易维护的七种武器 2018/09/29 · 基础知识 · 武器 原文出处: Jeff Triplett 译文出处:linux中国-Hank Chow 检查你的代码的质 ...
- 首信易支付的RSA公钥验证问题(博屎没解决的问题)
我是谁呀?九十年代的中专生而已! 2007-11-22 15:12 我是谁呀?九十年代的中专生而已!可是,我解决了一个国外在读博士没有解决的问题!我是谁呀?中专生嘛! 关于首信易支付的RSA公钥验证问 ...
- 易语言php注册,易语言简单ASP网络验证源码 PHP一键搭建网络验证源码
说明: 易语言简单ASP网络验证源码 ,很不错的易语言源码,适合易语言爱好者学习, (Easy language simple ASP network verification source code ...
- 某盾验证加密参数分析——cb,data参数(终篇)
文章目录 前言 一.cb参数 二.data参数 总结 前言 话不多说,上次易盾未破解的参数最终篇,因为写个博客详单与重新再追一遍,今天抽了空算是交差了. 上篇文章某盾验证加密参数分析--fp参数(一) ...
最新文章
- GO语言Windows下Liteide
- python3 赋值 浅拷贝 深拷贝 简介
- Haystack 太强了!存 2600 亿图片
- Traffic Manager Overview
- Visual C++线程同步技术
- 【Elasticsearch】改进布尔查询的搜索相关性
- Redis学习总结(7)——怎么保持缓存与数据库一致性?
- 如何判断过拟合和欠拟合
- 咖啡口味介绍及存储方式
- 面试归来,感觉无望,下次再战
- keli不支持中文,显示中文乱码
- SAP MM-MB52 物料库存查询简单操作
- 《影响力》读书总结(一):影响力的武器
- 关于深度学习人工智能模型的探讨(一)(1)
- Python学习笔记---day03 Python基础
- lgg7深度详细参数_深度学习显卡参数详细对比
- 贝壳找房户外拓展(中等) 扫描线
- 串行口数据缓冲寄存器 SBUF 之 初步了解
- (CodeForces) D. Kilani and the Game (搜索)
- react 中 JSX 语法的转化过程