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

声明(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

上一篇:C#中,不同命名空间下面完全相同的类对象进行赋值


下一篇:服务器U盘安装Centos 7时提示Warning:/dev/root does not exist