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

news2024/11/19 2:17:49

声明(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  # 假设图片高度为200px
    np_image = np.array(_img)  # 将背景图片转换为NumPy数组
    new_np_img = np.zeros((200, 400, 3), dtype=np.uint8)  # 创建一个新的空白图片数组,这里假设宽度为400px

    for 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.coloradmin.cn/o/1900065.html

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

相关文章

你的 Mac 废纸篓都生苍蝇啦

今天给大家推荐个免费且有趣的小工具 BananaBin,它可以在你的废纸篓上“长”一些可爱的苍蝇🪰。 软件介绍 BananaBin 是 macOS 上的一款有趣实用工具,当你的垃圾桶满了时,它会提醒你清理。这个软件通过在垃圾桶上添加互动的苍蝇…

让ChatGPT干正事、说人话、会思考!借助ChatGPT润出优质论文的实操指南

大家好,感谢关注。我是七哥,一个在高校里不务正业,折腾学术科研AI实操的学术人。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥(yida985)交流,多多交流,相互成就,共同进步&a…

Linux笔记之一

Linux笔记之一 一、Linux基本概念1.1 概念1.2 为什么要学Linux 二、Linux基本目录三、Linux基本命令3.1 相对路径3.2 绝对路径3.3 Linux基本命令3.3.1 处理目录的命令3.3.2 创建文件的命令3.3.3 内容查看命令 总结 一、Linux基本概念 1.1 概念 Linux,全称GNU/Linu…

啥?你没听过SpringBoot的FatJar?

写在最前面: SpringBoot是目前企业里最流行的框架之一,SpringBoot的部署方式多数采用jar包形式。通常,我们使用java -jar便可以直接运行jar文件。普通的jar只包含当前 jar的信息,当内部依赖第三方jar时,直接运行则会报…

Python 空间和时间高效的二项式系数(Space and time efficient Binomial Coefficient)

这里函数采用两个参数n和k,并返回二项式系数 C(n, k) 的值。 例子: 输入: n 4 和 k 2 输出: 6 解释: 4 C 2 等于 4!/(2!*2!) 6 输入: n 5 和 k 2 输出: 10 解释: 5 C …

关于GIS的概念方面在前端编程中的理解

关于GIS的概念方面在前端编程中的理解 一. 什么是gis二. 关于地球的建模(了解)三. GIS坐标系表现形式四.GIS的数据4.1 矢量数据4.2 栅格数据4.3 矢量数据和栅格数据的不同 一. 什么是gis 地理坐标系统,其目的就是通过地理坐标系可以确定地球上任何一点的位置。 二. …

springboot网吧信息管理系统-计算机毕业设计源码31030

目录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3 本课题主要工作 1.4论文结构与章节安排 2系统分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统流程分析 2.2.1 数据新增流程 2.2.2 数据删除流程 2.3 系统功能分析 2.…

YOLO之boxes小记

import cv2 from ultralytics import YOLO # 加载模型 model YOLO(modelyolov8n.pt) results model(sourceanimal.jpg)result results[0] img result.plot() from matplotlib import pyplot as plt # matplotlib :rgb模式 # cv:bgr模式 plt.imshow(Ximg[:,:,::-1])result.b…

海睿思问数(TableGPT):开创企业新一代指标应用模式

1 指标建设对企业经营管理数字化的价值分析 指标是将海量数据中关键信息提炼和挖掘出来,以数据为载体展示企业经营管理和分析中的统计量。它通过分析数据,形成一个具有度量值的汇总结果,使得业务状态可以被描述、量化和分解。指标通常由度量…

【记录】如何使用IDEA2023

前言: 记录IDEA2023的激活与安装 第一步:官网下载安装包: 下载地址:https://www.jetbrains.com/idea/download/other.html 这个最好选择2023版本,用着很nice。 安装步骤就不详解了,无脑下一步就可以了…

上位机图像处理和嵌入式模块部署(mcu项目1:用户手册)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 一个完整的产品,除了上位机软件、固件、硬件、包装之外,一般还需要一个用户手册。好的用户手册应该能够兼顾到大多数人的认…

Java数据结构-树的面试题

目录 一.谈谈树的种类 二.红黑树如何实现 三.二叉树的题目 1.求一个二叉树的高度,有两种方法。 2.寻找二叉搜索树当中第K大的值 3、查找与根节点距离K的节点 4.二叉树两个结点的公共最近公共祖先 本专栏全是博主自己收集的面试题,仅可参考&#xf…

强技能 展风采 促提升——北京市大兴区餐饮行业职工技能竞赛精彩呈现

6月19日,由大兴区总工会、区商务局、青云店镇人民政府联合主办,区服务工会、区餐饮行业协会承办的“传承中国技艺,打造新一代餐饮工匠”2024年大兴区餐饮行业职工职业技能竞赛决赛在北京华联创新学习中心隆重开幕。区总工会副主席郝泽宏&…

运维锅总详解计算机存储

本文从计算机存储简介、存储设备介绍、软件定义存储(SDS)、常见的Kubernetes CSI存储插件介绍、如何平衡成本和存储性能等方面对计算机存储进行详细分析;本文最后还通过图形展示了存储在计算机体系结构中的重要作用。希望对您有所帮助! 一、计算机存储简…

沉浸式三维园区场景漫游体验

利用图扑三维可视化技术展示园区在不同时间段的变化,提供全景漫游体验,帮助用户全方位感受和理解园区环境,实现智能化管理与优化。

昇思第10天

RNN实现情感分类 二分类问题:Positive和Negative两类 步骤: 1.加载IMDB数据集 2.加载预训练词向量:预训练词向量是对输入单词的数值化表示,通过nn.Embedding层,采用查表的方式,输入单词对应词表中的index,…

OPENCV(图像入门笔记)

使用OpenCV读取图像 使用cv.imread()函数读取图像。 第一个参数为图像名称 第二个参数是一个标志,它指定了读取图像的方式。分别有三种 cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。 cv.IMREAD_GRAYSCALE:以…

武汉免费 【FPGA实战训练】 Vivado入门与设计师资课程

一.背景介绍 当今高度数字化和智能化的工业领域,对高效、灵活且可靠的技术解决方案的需求日益迫切。随着工业 4.0 时代的到来,工业生产过程正经历着前所未有的变革,从传统的机械化、自动化逐步迈向智能化和信息化。在这一背景下&…

windows USB 设备驱动开发-控制传输的数据包

每次在主机控制器和 USB 设备之间移动数据时,都会发生传输。 通常,USB 传输可大致分为控制传输和数据传输。 所有 USB 设备都必须支持控制传输,并且可以支持用于数据传输的端点。 每种类型的传输都与设备缓冲区USB 端点 的类型相关联。 控制传…

vscode远程连接linux(配置免密)

远程连接 1.首先保证物理机和虚拟机网络可以ping通 2.查看ubuntu得ip地址 ifconfig IP为:192.168.52.133 3.连接远程主机 配置免密 1.打开cmd运行ssh-keygen -t rsa 一路回车就行 2.打开window文件夹C:\Users\xbj\.ssh 3.用记事本打开id_rsa.pub文件复制公…