简述 : 关于对抗滑动验证码轨迹的资料比较少,再加上现在不仅对滑块位置进行校验,还对轨迹进行校验,导致难度加大。查阅各种资料后,自己一阵瞎鼓捣,最终也是不负辛苦,写个博客记录一下,也希望能帮助到一些人。

起因 : 由于最近肝了两宿搞某里滑块,结果有了,但唯独缺少轨迹,问过一些大佬,有人采用的是人为滑动,收集轨迹,放到数据库,用的时候从数据库提取一条,由于某里x82对轨迹校验严格,一般同一条轨迹只能用2到3次,或者在提取的轨迹上进行坐标缩放,随机截取,此种方法虽然可行,但终归有局限性,需要不断往数据库存入轨迹。此法不考虑。

过程 :偶然从某鱼上看到有位卖家说采用LSTM+RNN训练,根据描述说成功率百分之九十以上,便朝这个方向研究,自己不会深度学习,但是现在有AI,经过AI给出代码,又经过数次修改,终于得到了一份可行的方案,让AI写了一个验证码,P股坐烂,收集轨迹,滑的是真让人崩溃。

结果 :最开始收集1600条轨迹训练,50轮以后,成功率在百分之六十到七十,数据集增加到3400条以后,成功率在百分之九十七左右。也尝试过TraceFormer和GAN,训练难度大,也需要大量数据集,但LSTM+RNN已经足够使用。

总结:滑动的时候注意轨迹的多样性,比如前快后慢,匀速滑动,终点鼠标稍微停留,滑动y坐标前高后低或者相反,速度不要太快,LSTM+RNN对于目前的大多数验证码应该足够用,需要的小伙伴可以照此法进行研究。代码就不贴了,以防别人拿着研究成果去倒卖,不过也不难,问问AI基本就有谱,主要还是选择合适的方案,实在没头绪或懒得动手可交流学习。

 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐