要放假了好颓废。。。。
没啥事儿干,就把之前剩余的顶象点选系列的验证码类型看了下。 之前分享了一篇关于这个顶象的滑块的 DX算法还原_dx算法还原_逆向学习之旅-CSDN博客,感兴趣可以去看看。
咱们以文字点选为例:
def get_image_arry(self,r):
t = []
for e in [ord(i) for i in r]:
while e % 32 in t:
e += 1
t.append(e % 32)
return t
这个是图片还原的数组生产方法,r为图片id值:也就是下面这个。
文字点选的还原跟它滑块的还原还是有点区别的,这个得去好好看看才行。 咱们还是用py来还原,要快一点,下面这个直接拿来用。
def img_recover(self,binary, captcha_id):
""" 图片拼合 """
restore_list = []
img = cv2.imdecode(np.array(bytearray(binary), dtype='uint8'), cv2.IMREAD_UNCHANGED)
new_img = np.zeros((150, 288, 3), dtype=np.uint8)
lk = len(restore_list)
ck = int(300 / lk)
for cp in range(lk):
c = restore_list[cp] % lk * ck
xp = cp % lk * ck
slice_img = img[0: 150, c: c + ck]
new_img[0: 150, xp:xp + len(slice_img[0])] = slice_img
new_img = cv2.resize(new_img, (300, 150)) # 官网上图片展示的时候就是380*165 这里重新设置到这个尺寸
normal_img = cv2.imencode('.jpg', new_img)[1]
normal_img = np.array(normal_img).tobytes()
return normal_img
其他的好像没啥可以说的了,之前的文章里面关于constid和ac的生产也都是有的。可以copy过来然后改来用就行。
其实点选类型的也是有坑的,留个雷点,感兴趣就自己去排查一下。然后的话有的虽然用的官方的那套,但是到了部分站点上也是通不过的,官网只要是坐标点对上了,就基本上完事了。不过类似于海南航空,咱们直接用也是不咋行的,我排查了一上午才找到问题。可能是我算法处理的有问题吧。
其余的好像没啥可以说的了。对了,最开始我ac生产的长度才 153 也能过很奇葩,哈哈
要了一份李成功大哥的代码,这个是他的 也才290多,没办法greenseer里面缺少浏览器环境,那就老老实实的补吧。
缝缝补补又一年,所以不懈努力之下。终于来到了900的 跟官方的1000多虽然差点,不过也差不到哪儿去了。兄弟们 不能太短,太短要被嘲讽的,哈哈哈哈哈!!!
再修修补补其实应该就行的,不想努力了,选择摆烂。
看看结果:基本上官方的那套可以通用了。
就这样了,仅仅记录一下,感觉上也没说到啥。
完事儿了哦,大表哥们。有问题可以给我留言。或者私信加我。15702312233
或者关注我们的作坊:图腾视觉开放平台-高速、稳定、易用的webapi接口调用 (现已合作大佬超乎你想象)图腾视觉-OCR识别平台
提示:有问题的小伙伴可以私信讨论。
重要的事儿说三遍 :若是侵权请联系作者删,若是侵权请联系作者删,若是侵权请联系作者删。