同盾滑动验证码图片还原
在线体验地址:
https://x.tongdun.cn/onlineExperience/slidingPuzzle
调试步骤和极验一样,都是在Canvas相关函数下断点。

图片宽度为320,高度为180。按8列、2行分割成16个块。只需要确定这16个块的顺序,就可以还原图片。与极验固定的块顺序不同,同盾的块顺序是随机的,且需要根据返回的数据进行计算才能得到。
验证码初始化的时候会返回验证码图片链接、块顺序计算所需的信息等。示例数据:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| { "failMes":"验证成功", "needValidateCode":true, "seqId":"1571985774253028F47CD021F5189943", "statusCode":"200", "success":true, "validateCodeObj":{ "bgImageSplitSequence":"6243D8A0B9EFC517", "encryptGeneral":"V9OX27e0sOkbMbaTdFCzKP6qHWRemwAmNONEMG8qLqQ=_2", "encryptVerification":"QsFjbubWqVeQDEhGGiiWMcAIgnmDibVhutukb36lihU4MSjACHDMQT0q0IwyKpnV_2", "height":315, "imageGeneral":"WYGwwBnd4fhf2Lj/+YuF6H2XEGI=", "imageType":"1", "slideBgi":"/sphinx/slide-bg/77caa3d25cb4c6b4a57fb90066c4bf94cbaf5d98741dd583bc51eac8811d2701ab7f88dd963af1ef57f60212987d7c17.jpeg", "slideImage":"/sphinx/slide/77caa3d25cb4c6b4a57fb90066c4bf94cbaf5d98741dd583bc51eac8811d2701ab7f88dd963af1ef57f60212987d7c17.png", "slideY":121, "width":350 } }
|
块顺序由imageGeneral和bgImageSplitSequence按一定规则计算后确定。
将imageGeneral和bgImageSplitSequence的相关算法抠出来,本地实现了图片还原。
