当前位置:   article > 正文

顶象点选验证码

顶象点选验证码

要放假了好颓废。。。。 

没啥事儿干,就把之前剩余的顶象点选系列的验证码类型看了下。  之前分享了一篇关于这个顶象的滑块的 DX算法还原_dx算法还原_逆向学习之旅-CSDN博客,感兴趣可以去看看。

咱们以文字点选为例:

  1. def get_image_arry(self,r):
  2. t = []
  3. for e in [ord(i) for i in r]:
  4. while e % 32 in t:
  5. e += 1
  6. t.append(e % 32)
  7. return t

这个是图片还原的数组生产方法,r为图片id值:也就是下面这个。

 文字点选的还原跟它滑块的还原还是有点区别的,这个得去好好看看才行。 咱们还是用py来还原,要快一点,下面这个直接拿来用。

  1. def img_recover(self,binary, captcha_id):
  2. """ 图片拼合 """
  3. restore_list = []
  4. img = cv2.imdecode(np.array(bytearray(binary), dtype='uint8'), cv2.IMREAD_UNCHANGED)
  5. new_img = np.zeros((150, 288, 3), dtype=np.uint8)
  6. lk = len(restore_list)
  7. ck = int(300 / lk)
  8. for cp in range(lk):
  9. c = restore_list[cp] % lk * ck
  10. xp = cp % lk * ck
  11. slice_img = img[0: 150, c: c + ck]
  12. new_img[0: 150, xp:xp + len(slice_img[0])] = slice_img
  13. new_img = cv2.resize(new_img, (300, 150)) # 官网上图片展示的时候就是380*165 这里重新设置到这个尺寸
  14. normal_img = cv2.imencode('.jpg', new_img)[1]
  15. normal_img = np.array(normal_img).tobytes()
  16. return normal_img

其他的好像没啥可以说的了,之前的文章里面关于constid和ac的生产也都是有的。可以copy过来然后改来用就行。

其实点选类型的也是有坑的,留个雷点,感兴趣就自己去排查一下。然后的话有的虽然用的官方的那套,但是到了部分站点上也是通不过的,官网只要是坐标点对上了,就基本上完事了。不过类似于海南航空,咱们直接用也是不咋行的,我排查了一上午才找到问题。可能是我算法处理的有问题吧。

其余的好像没啥可以说的了。对了,最开始我ac生产的长度才 153 也能过很奇葩,哈哈

要了一份李成功大哥的代码,这个是他的 也才290多,没办法greenseer里面缺少浏览器环境,那就老老实实的补吧。

缝缝补补又一年,所以不懈努力之下。终于来到了900的 跟官方的1000多虽然差点,不过也差不到哪儿去了。兄弟们 不能太短,太短要被嘲讽的,哈哈哈哈哈!!!

再修修补补其实应该就行的,不想努力了,选择摆烂。

看看结果:基本上官方的那套可以通用了。

就这样了,仅仅记录一下,感觉上也没说到啥。

完事儿了哦,大表哥们。有问题可以给我留言。或者私信加我。15702312233

或者关注我们的作坊:图腾视觉开放平台-高速、稳定、易用的webapi接口调用 (现已合作大佬超乎你想象)图腾视觉-OCR识别平台

提示:有问题的小伙伴可以私信讨论。

重要的事儿说三遍 :若是侵权请联系作者删,若是侵权请联系作者删,若是侵权请联系作者删。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号