在我上一篇文章里面讲过了滑块验证码 这一篇文章我们来讲解点击型验证码
点击型验证码是有几率出来的 并且提交的参数都跟滑块型的验证码差不多 差距比较大的就是点击型只是一张图 并且带有标题例如 上面的图 带上标题《请点击与大体积圆柱大小相近的圆锥》
一 验证码的问题如何获取到
如图所示 在https://apiv2.pinduoduo.net/api/phantom/obtain_captcha 接口获取到semantics参数 semantics[0] 就是验证码的问题 semantics[1] 就是正确答案的点击次数 下图验证码 代表着《请点击与大体积圆柱大小相近的圆锥》 需要点击 1 次 也就是 正确答案只有1个
二 验证码的问题跟正确答案点击次数如何解密
下图 我自己写了一个方法 用于解密问题跟点击次数 这个方法是由PDD 逆向而来的 在上一篇我的文章有个是 image_decryption 方法 用于图片解密的方法 也是验证码问题的解密方式
至于title_decode 方法 是由 decode方法逆向而来的
这是我自己写的方法 也是从上面那图逆向出来的
三 验证码提交
captcha_collect 跟 anti_content 都还是跟滑块验证码的一致 不需要做任何改动 至于verify_code 跟滑块的有变动 因为滑块的是单个值 但是点击型的不固定 所以这边需要改成json 去提交 提交是否成功看 verify_code 等于0就是能通过 大致都跟滑块的一样
这是我自己写的模拟滑块验证测试 可以看到verify_code 等于0 最终就是通过点击型验证
四 总结
滑块型与点击型验证码的不同于:
1 滑块的图片有两张 但是点击的图片只有一张
2 滑块不需要解密题目 点击型需要通过Base64.decode方法去进行解密 解密的有 题目 跟 正确答案的点击次数
3 提交的答案code参数不同 滑块是 verify_code:123 点击是 verify_code: "[{\"x\":133,\"y\":92}] 点击型需要传递多个xy值
滑块型的可以看一下我上篇文章 PDD 逆向 JS 滑块图形验证码_拼多多如何触发滑块验证-CSDN博客
然后遇到什么问题 或者需要源码可以找我 直接私信