极验点选验证码位置识别(一):点选验证码位置识别技术总览
声明一、技术栈1. 验证码图片下载2. 验证码图片预处理3. 标签图分割4. 背景图图标标注5. 背景图图标训练&识别5. siamese network模型训练6. 相似度结果解析 二、结语*本期文章结束啦,如果对您有帮助,记得收藏加关注哦,后期文章会持续更新 ~~~*声明
原创文章,请勿转载!
本文内容仅限于安全研究,不公开具体源码。维护网络安全,人人有责。
本文关联文章超链接:
极验点选验证码位置识别(一):点选验证码位置识别技术总览
近期文章更新会慢一些,工作有些忙,再加上点选的识别数据集要重新做处理。太难了。
说多了都是泪,本来极验点选上个月已经破解了,准备写文章的,然后就先写了极验滑块系列的文章。回头一看点选的,卧槽,验证码图片更新了,得重新调整解决方案了。
一、技术栈
不管是极验还是其他厂家的点选验证码,都是一样的。首先要做的就是得到验证码中图标的位置和顺序信息。有了这两样,点选验证码不就和之前介绍的滑块验证码一样了吗,只需要破解对鼠标轨迹进行加密的js就行了。
本系列文章以极验为例,讲解整个点选验证码的识别到js破解的过程,小伙伴们耐心看完。
1. 验证码图片下载
因为后期会用到图片识别技术,所以需要下载大量的图片验证码,用作训练集。
2. 验证码图片预处理
将验证码图片分割成背景图和标签图,并分别做一系列预处理,提高后期图片识别准确率。
3. 标签图分割
标签图是我们要点击的图形验证码顺序,首先要将标签图中每个标签分离出来。可以看到每个标签之间还有粘连在一起的部分,因此此步骤需要用openCV对标签做图像边缘检测、分离技术。
4. 背景图图标标注
使用labelImg工具对背景图中的待检测图标进行标注,生成训练集。
5. 背景图图标训练&识别
本系列文章采用yolo5目标检测模型,检测出背景图中的图标。
5. siamese network模型训练
采用孪生神经网络模型训练第4步骤(背景图图标)和第3步骤(标签图图标)图片的相似度。
6. 相似度结果解析
对第5步骤返回的结果,对相似度进行排序,得到点选验证码的顺序和坐标。
二、结语
友情链接:极验点选验证码位置识别(二):验证码图片下载&数据集预处理(还未更新)