dmsj20190707

记录于2020.10.22

废话不多说直接上源码

 1      #获取有缺口的图片
 2         bigImg = Imgdict[\'bigImgName\']
 3         smallImg = Imgdict[\'smallImgName\']
 4         picture_big = self.get_HTML(bigImg)
 5         bytes_stream = io.BytesIO(picture_big)
 6         roiimg = Image.open(bytes_stream)
 7         roiimg.save(\'./big.png\')
 8         #获取缺口图片
 9         picture_amsll = self.get_HTML(smallImg)
10         bytes_stream = io.BytesIO(picture_amsll)
11         roiimg = Image.open(bytes_stream)
12         roiimg.save(\'./small.png\')
13 
14         #二值化图片并进行比对
15         target_rgb = cv2.imread(\'../../chengxu/big.png\', 0)
16         #匹配缺口位置,并获取移动距离
17         template_rgb = cv2.imread(\'../../chengxu/small.png\', 0)
18         res = cv2.matchTemplate(target_rgb, template_rgb, cv2.TM_CCOEFF_NORMED)
19         value = cv2.minMaxLoc(res)
20         Value = value[2][0]
21         Deviation = random.randint(0, 3)
22         if Deviation % 2 == 0:
23             Value_dev = Value - Deviation
24         else:
25             Value_dev = Value + Deviation

根据获取到的验证码图片进行处理、匹配拿到滑动距离

利用随机数在对滑动距离做模仿,ps:不要问为什么,因为没有人会每次准确无误的滑动到完美的距离

之后根据前端分析出的网址进行传入距离,有必要时建议第一次传入一个随即值,第二次传入正确的距离值

这样返回的JSON数据里面就会包含对应的加密口令

后面你就可以驰骋了,加油吧!!!!

 

分类:

技术点:

相关文章:

  • 2021-09-08
  • 2021-08-18
  • 2021-12-09
  • 2021-09-08
  • 2021-11-11
  • 2021-11-12
猜你喜欢
  • 2020-01-20
  • 2021-11-03
  • 2021-11-01
  • 2021-11-01
  • 2021-11-11
  • 2021-11-11
相关资源
相似解决方案