2021-11-29JS逆向之某某海关企业进出口信用信息公示平台(下)
Posted 阿J~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-11-29JS逆向之某某海关企业进出口信用信息公示平台(下)相关的知识,希望对你有一定的参考价值。
本文用于学习使用,禁止用于非法活动
前言
上篇已经讲到了返回数据的解密,然后请求接口时,需要获取验证码,这篇就讲讲这个
一、验证码
先来看下验证码吧,跟一般的验证码不一样,这个是动图验证,也就是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次
想必识别的速率是有点慢,这里就衍生出了另一个思路,通过调用多次之前的方法,然后记录正确识别的帧数,最后进行汇总,就会得到出现最频繁的那些帧数,我们只要识别这些帧数的图片即可,这样既加快了动图的识别速度,在效率上也不会落后第一个方案
三、总结
我这边也没测试几张图片,总结了这些帧率出现的次数相对比较频繁
然后看下识别的效果,好像是可以嗷,但是可能存在随机性,所以上述的几个帧率并不是最好的,建议多搞几次,再拿出现次数最多的帧率~
以上是关于2021-11-29JS逆向之某某海关企业进出口信用信息公示平台(下)的主要内容,如果未能解决你的问题,请参考以下文章