发现这个 JS 被混淆了,我们可以用 v_jstools 进行简单的变量还原,替换进去即可,最终我们分析可得,data 参数是由 ek 和轨迹明文加密得到的,这里我们跟进加密函数 h 中,看看 data 是如何生成的:
实际上,detect.sh 是执行了 detect.py 文件,在代码中有一个关键的输出结果如下:这里 bbox 指的就是最终缺口的轮廓位置,同时 x1 就是指的轮廓最左侧距离整个验证码最左侧的横向偏移量,即 offset。
有拼图拼半天对不上的,有找出图片中所有树木找不全的,有算不出准确数字的,各种各样、千奇百怪的验证码每次都让人猝不及防。但请注意,“验证码”可不是专门用来为难你的,而是在区分人类和机器方面起了巨大作用。比如一个滑动对齐拼图类型的验证码,计算机可以直接通过算法滑得又快又准。