【2021-11-29】JS逆向之某某海关企业进出口信用信息公示平台(下)

本文用于学习使用,禁止用于非法活动


前言

上篇已经讲到了返回数据的解密,然后请求接口时,需要获取验证码,这篇就讲讲这个


一、验证码

先来看下验证码吧,跟一般的验证码不一样,这个是动图验证,也就是gif图片

gif图片通俗来说是由多张图片组合而成,然后类似放电影一样,一帧一帧播放出来

在这里插入图片描述


二、获取帧图

获取动图的每一帧图片

frame = Image.open(inGif)
nframes = 0
while frame:
	frame.save('xxx.xxx')
	nframes += 1
    try:
	    frame.seek(nframes)
    except EOFError:
        break
	

可以获取如下帧图,通过观察帧图,可以看出几张图的验证码是比较清晰的

在这里插入图片描述

然后直接调用验证码识别去搞搞看,这里的第一个思路就是逐帧识别进行累加,然后拿出现最多次数的验证码去提交
在这里插入图片描述

能正确识别的图片的帧数有6张,然后多试了几张,发现这个思路是可行的
在这里插入图片描述

那么问题又来了,从前面我们知道了这张动图有25帧,也就是25张图片,一个动图要是别25次
想必识别的速率是有点慢,这里就衍生出了另一个思路,通过调用多次之前的方法,然后记录正确识别的帧数,最后进行汇总,就会得到出现最频繁的那些帧数,我们只要识别这些帧数的图片即可,这样既加快了动图的识别速度,在效率上也不会落后第一个方案


三、总结

我这边也没测试几张图片,总结了这些帧率出现的次数相对比较频繁
在这里插入图片描述

然后看下识别的效果,好像是可以嗷,但是可能存在随机性,所以上述的几个帧率并不是最好的,建议多搞几次,再拿出现次数最多的帧率~
在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>