DDDDOCR处理简单验证码

前言

在逆向时经常会遇到一些验证码,例如滑块算距离、点选获得坐标、图片识别等等。当然我们可以使用打码平台,遇到难的使用倒没什么,有时候遇到简单的使用打码平台老感觉血亏(蚊子再小也是块肉),那今天我们就来介绍一个完全开源与免费的工具,不用像opencv有学习成本,简单好上手,叫做ddddocr(带带弟弟ocr)

1.识别数字文字

直接看运行结果

3d9cb1933fc246bcab1f9df4b4a22991.png

发现模式2的成功率高很多,平时使用的时候应该要根据情况选择

def ocr(file): #file=文件路经
    with open(file=file,mode='rb') as f:
        bg_content=f.read()
    ocr=ddddocr.DdddOcr(show_ad=False,beta=True) #参数加上beta=True就是切换模型二
    result=ocr.classification(bg_content) #对于黑色透明图片加上参数 png_fix=True

2.获取滑块距离

02e4a740d8b84b7ba64b487d1eed397c.pngret打印的结果里的target分别是左上的横纵坐标和右下的横纵坐标

def hk():
    with open(file='background.png', mode='rb') as f:
        bk_contemt =f.read()
    with open(file='front.png', mode='rb') as f:
        front_content=f.read()
    slide=ddddocr.DdddOcr(det=False,ocr=False,show_ad=False)
    ret=slide.slide_match(front_content,bk_contemt,simple_target=True)
    target=ret['target']
    print(ret)   #target里面是左下 右上
    im=cv2.imread('background.png')
    #画出滑块位置
    cv2.rectangle(im,(target[0],target[1]),(target[2],target[3]),(0,0,255),2)
    cv2.imshow('slide',im)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

3.点选

c78f2f3e5b9b43c39829e6fe3454fc0d.png结果是各个的左上右下xy坐标,点选一般使用ddddocr较少

def dianxuan():
    with open(file='background.png',mode='rb') as f:
        bk_contemt=f.read()
    det=ddddocr.DdddOcr(det=True,show_ad=False)
    poses=det.detection(bk_contemt)
    print(poses)
    im=cv2.imread('background.png')
    for pose in poses:
        cv2.rectangle(im,(pose[0],pose[1]),(pose[2],pose[3]),(0,0.255),2)
    cv2.imshow('dianxuan', im)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

补充

一般简单的验证码处理可以用ddddocr,遇到难的也可以基于opencv进行二值化等操作进行处理,总之ddddocr是一个处理验证码很方便的工具,实在遇到难的我这里推荐几个我正在用的打码平台

超级鹰:超级鹰验证码识别-专业的验证码云端识别服务,让验证码识别更快速、更准确、更强大 (chaojiying.com)icon-default.png?t=N7T8https://www.chaojiying.com/

云码:

云码-自动验证码识别平台_验证码识别API接口_免费验证码软件 (jfbym.com)icon-default.png?t=N7T8https://www.jfbym.com/

 7.补充

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往日情怀酿做酒 V1763929638

往日情怀酿作酒 感谢你的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值