深圳航空顶象验证码逆向,和百度验证码训练思路

声明(lianxi a15018601872)
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!  
前言(lianxi a15018601872)

试了一天的百度验证码训练,下载ps一个个图来转。一直在找怎么训练才可以正确。太累了把图形弄正。弄了几个小时弄了300多张,还有300-400张吸取上次教训标注完一半直接开始训练看看效果这个我个人经验。之前极验点选标注过程出出问题导致后续一直在错误中摸索。训练了5-6回。重16,32,64。最后手动调整参数修改一下陈不不大佬开源的旋转验证码训练代码。有点不懂感觉陈不不大佬的训练项目虽然不是同类型中最好的。但决定是最容易让人看懂的了诠释了然后让一个小白快速人们。虽然我没报他的课,但是还是可以从代码逻辑中看出是一个很好的it培训导师。训练过程中顺便把深圳航空的顶象给弄了。接下来说一下这两部分怎么处理尽量快点写完看 德国打西班牙。

顶象处理思路

这部分代码是以前写的,我debug看了一下canvas构造过程一点没变直接拿代码来用。

def reduction_image(_seq, _img):"""用于将图片还原@param _seq: 图片的序列号,也就是 Sequence方法生成的结果 还原数组@param _img: 背景图片@return new img"""a = 200  # 假设图片高度为200pxnp_image = np.array(_img)  # 将背景图片转换为NumPy数组new_np_img = np.zeros((200, 400, 3), dtype=np.uint8)  # 创建一个新的空白图片数组,这里假设宽度为400pxfor u in range(0, 32):c = _seq[u] % 32 * 12  # 计算原图片中切片的x位置xpos = u * 12  # 计算新图片中切片应该放置的x位置slice_img = np_image[0:a, c:(c + 12)]  # 从原图片中切出一块n = len(slice_img[0])  # 切片的宽度new_np_img[0:a, xpos:(xpos + n)] = slice_img  # 将切片放置到新图片的对应位置上return new_np_img  # 返回新的图片数组

第一次请求 

params = {"w": "330","h": "165","s": "50","ak": ak,"c": c,"jsv": "5.1.49","aid": f"dx-{int(time.time()*1000)}-32232197-1","wp": "1","de": "0","uid": "undefined","lf": "0","tpc": "","t": "CC999B881AF4A3DA358978FDEB4D109479F4270417255497323BF8D9CFB9BFE4CC3B1235E6B4D3AF34E0EA0AA80AC16134C88846E2A05ACE5C9D3A317FE86B6B0F36CB078A978905578DC10B63601053","cid": "97991961","_r": random.random()
}

第二次请求

data = {"ac": ac,"ak": ak,"c": c,"uid": "undefined","jsv": "5.1.49","sid": sid,"aid": f"dx-{int(time.time()*1000)}-73294134-1","x": x,"y": y,"w": "330","h": "165"
}

主要说一下ac处理。分别三步。init,recordSA , an.sendTemp({ "xpath": "/html/body/div[1]", "x": x, "y": y })处理这三个就可以了。

补环境检测了什么

自动化getAttribute return null就行了。document.body.length和document.documentElement.length,其他都是很常见的问题。

遗留问题

我记得顶象每天会动态更换文件,所以文件一换请求的false。目前有一个思路。但是没时间搞,明天把图标完再说吧。

百度验证码怎么训练

下载不不大佬的项目到本地,把训练次数弄大一点,我测了64次才可以正常开始识别。32,16识别的很乱。同时对图片自己进行处理。就可以。

顶象运行结果

百度验证码测试结果 

训练次数不是很多,测试了一下至少整体是的。增加图片和训练次数应该可以解决。

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。lianxi a15018601872

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/41636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

encrypt decrypt CA

encrypt & decrypt & CA 加密解密证书

基于java+springboot+vue实现的大学生就业需求分析系统(文末源码+Lw)233

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自…

A股继续3000以下震荡,而国外股市屡创新高,人民币反弹能带动A股吗?

今天的A股,让人愤愤不已,你知道是为什么吗?盘面上出现3个耐人寻味的重要信号,一起来看看: 1、今天两市一度回踩2920点,让股民的心都开始悬起来了。而午后市场行情有了转变,下跌的股票开始明显变…

在centos7上部署mysql8.0

1.安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。查看是否安装mariadb rpm -qa | grep mariadb 2. 卸载mariadb rpm -e --nodeps 查看到的文件名 3.下载MySQL安装包 MySQL官网下载地址: MySQL :: Download MySQL Community Serverhttps://dev.mys…

c/c++ 程序运行的过程分析

c/c编译基础知识 GNU GNU(GNU’s Not Unix!)是一个由理查德斯托曼(Richard Stallman)在1983年发起的自由软件项目,旨在创建一个完全自由的操作系统,包括操作系统的内核、编译器、工具、库、文本编辑器、邮…

线性代数基础概念:矩阵

目录 线性代数基础概念:矩阵 1. 矩阵的定义 2. 矩阵的运算 3. 矩阵的特殊类型 4. 矩阵的秩 5. 矩阵的初等变换 6. 矩阵的特征值与特征向量 7. 矩阵的应用 8. 矩阵总结 总结 线性代数基础概念:矩阵 矩阵是线性代数中的另一个重要概念&#xff0…

学java的第3天 后端商城小程序工作

1.数据库的大坑 特殊字段名 ’我的图片表中有一个字段是描述我写成desc了,正好是mysql中的关键字 就不能使用了 2.后端编写 2.1可以把请求分开 在商品浏览页中 只显示商品的大致信息 当用户再点击其他按钮时在发出请求 2.2把请求合并 把数据整合到一起 利用ass…

Python爬虫教程第1篇-基础知识

文章目录 什么是爬虫爬虫的工作原理用途搜索引擎爬虫Robots协议HTTP的请求过程URL的含义HTTP常见请求头爬虫常用的技术 什么是爬虫 信息的交互是通过web网页、或者移动端等不同的客户端端形式进行交互,这个过程是一个人与网路正常的交互行为。而爬虫可以用来模拟人…

linux-5.10.110内核源码分析 - Freescale ls1012a pcie host驱动

1、dts pcie设备树 1.1、pcie设备树 pcie1: pcie3400000 {compatible "fsl,ls1012a-pcie";reg <0x00 0x03400000 0x0 0x00100000 /* controller registers */0x40 0x00000000 0x0 0x00002000>; /* configuration space */reg-names "regs", &…

JVM原理(十七):JVM虚拟机即时编译器详解

编译器无论在何时、在何种状态下把Class文件转换成与本地基础设施相关的二进制机器码&#xff0c;他都可以视为整个编译过程的后端。 后端编译器编译性能的好坏、代码优化质量的高低却是衡量一款商用虛拟机优秀与否的关键指标之一。 1. 即时编译器 即时编译器是一个把Java的…

Linux进程(1)(结构-操作系统-进程)

目录 1.体系结构 2.操作系统&#xff08;Operator System&#xff09; 1&#xff09;概念&#xff1a; 2&#xff09;结构 示意图&#xff08;不完整&#xff09; 3&#xff09;尝试理解操作系统 4&#xff09;系统调用和库函数概念 3.认识进程 1.启动 2.进程创建的代码…

C#用反射机制调用dll文件的字段、属性和方法

1、创建dll文件 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace CLStudent {public class Student{//字段public string Name "Tom";//属性public double ChineseScore { get; s…

Nginx-http_auth_basic_module使用

文章目录 前言一、ngx_http_auth_basic_module二、指令1.auth_basic1.auth_basic_user_file 示例生成密码文件配置basic认证浏览器验证 总结 前言 nginx可以通过HTTP Basic Authutication协议进行用户名和密码的认证。 一、ngx_http_auth_basic_module 生效阶段&#xff1a; …

【C++】开源:nlohmann/json数据解析库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍nlohmann/json数据解析库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&am…

计算机组成原理--概述

&#x1f308;个人主页&#xff1a;小新_- &#x1f388;个人座右铭&#xff1a;“成功者不是从不失败的人&#xff0c;而是从不放弃的人&#xff01;”&#x1f388; &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f3c6;所属专栏&#xff1…

Jetpack Compose实战教程(五)

Jetpack Compose实战教程&#xff08;五&#xff09; 第五章 如何在Compose UI中使用基于命令式UI的自定义View 文章目录 Jetpack Compose实战教程&#xff08;五&#xff09;一、前言二、本章目标三、开始编码3.1 先让自定义控件能跑起来3.2给自定义控件使用compose的方式赋值…

在linux系统centos上面安装php7gmp扩展

ps:在ubuntu上面安装gmp(最简单) $ sudo apt-get install php7.0-gmp然后再php.ini添加extensionphp_gmp.so <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<…

C#Modbus通信

目录 1&#xff0c;辅助工具。 2&#xff0c;初识Modbus。 3&#xff0c;基于ModbusRTU的通信。 3.1&#xff0c;RTU与ASCII模式区别 3.2&#xff0c;Modbus存储区 3.3&#xff0c;报文格式 3.4&#xff0c;异常代码 3.5&#xff0c;详细文档连接 。 3.6&#xff0c;代…

2024 年第十四届亚太数学建模竞赛(中文赛项)浅析

需要完整B题资料&#xff0c;请关注&#xff1a;“小何数模”&#xff01; 本次亚太(中文赛)数学建模的赛题已正式出炉&#xff0c;无论是赛题难度还是认可度&#xff0c;该比赛都是仅次于数模国赛的独一档&#xff0c;可以用于国赛前的练手训练。考虑到大家解题实属不易&…

纸飞机社工库

收集了一些比较好用的纸飞机社工库&#xff0c;有纸飞机的可以加一下 Space X 隐私信息查询平台https://t.me/SpaceSGK_bot?startKhbOsEdELmingeek社工库 https://t.me/ingeeksgkbot?startNzM3ODE5NDM5Nw Botnet免费社工机器人https://t.me/SGK_0001_bot?start7378194397暗…