声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
有相关问题请第一时间头像私信联系我删除博客!
侵权或损害了你的利益头像首页联系
前言
这个滑块感觉有点恶心人,简单学习分析一下,后续在练习一下他的算数验证码,不过那个算数验证码ddddocr服务器没弄起来。
anti_content、verify_auth_token与content分析
anti_content
function getAntiContent(){ n = new U.a({ serverTime: Date.now() }) content=n.messagePack() return content }
图片解码
function decodeImage(server_time,content,d,verify_auth_token){ content= JSON.parse(s.a.decrypt(content, l.a.parse(d.c.a), { iv: l.a.parse(d.c.v) }).toString(l.a)) o={} n = new U.a({ serverTime: server_time }) anti_content=n.messagePack() client_time=Date.now() if(content['type'] == 2){ data = { "anti_content": anti_content, "sdk_type": 1, "client_time": client_time, "verify_auth_token": verify_auth_token, } bg=content['pictures'][0] return {'data':data,'type':type,'bg':bg} } sign=k.a(window.captcha.decode(content['semantics'][0])) text=content['text'][0] text2=content['text'][1] data = { "anti_content": anti_content, "sdk_type": 1, "client_time": client_time, "verify_auth_token": verify_auth_token, "captcha_sign": sign } return {'data':data,'text':text,'text2':text2,type:content['type']} }
验证
function verify(server_time,salt,verify_auth_token,captcha_sign,distance,d1,key,iv){ window.captcha.init({ "server_time": server_time, "aes_key": key, "aes_iv": iv }) captcha_collect=window.captcha.getAntiToken(distance, key,iv) n1={ "anti_content": n.messagePack(), "useNativeAntiToken": true, "salt": salt, "captcha_collect": captcha_collect, "verify_code": distance, "captcha_sign": captcha_sign } result={ e: !0, verify_auth_token: verify_auth_token, content: s.a.encrypt(JSON.stringify(n1), l.a.parse(d1.c.a), { iv: l.a.parse(d1.c.v) }).toString() } return result }