赞
踩
历经5个月把web逆向给学完了,最后决定进行一个最后解决完成这一段学习过程。选择极验是因为他适合新手具有代表性,同时因为点选前期准备工作需要浪费太多时间设计了太多知识点完成一个点选项目我从0开始学用了小20天今天就来分享一下滑块,和点选解决思路。
首先是load请求把参数给返回了需要的有lot_number、slice、bg、payload、token、protocal、pow_detail。我们需要的pow_msg由version|bits|hashfunc|datetime|captcha_id|lot_number|
|16位随机数。轨迹随意不检验的、距离用ddddocr识别、devide_id随意可以为空“”。最后就是w了。
把gcaptcha4.js文件复制到本地,用jsdom补环境就可以了。
const jsdom = require('jsdom'); const {JSDOM} = jsdom; const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`, { url: '****' }); window = dom.window; XMLHttpRequest = window.XMLHttpRequest; document = window.document; //document对象:代表给定浏览器窗口中的HTML文档, navigator = window.navigator; // 关于运行当前脚本的应用程序的相关信息 location = window.location; //对象包含当前页面的URL信息 history = window.history; // 历史会话 screen = window.screen; // 浏览器屏幕 document.referrer = "" setInterval = function () { } setTimeout = function () { }
完成这两部后就不会报错了,基本不用补什么环境了,如果是阿里227和腾讯的就需要自己手动不了。下面是我w代码部分仅从参考。
function getW(setLeft, passtime, device_id, lot_number, pow_msg, pow_sign) { geetest = 固定 lang = 固定 ep = 固定 jiws = 固定 em =固定 ax4h = fppu(gkl.toString() + fppu(fppu.toString())) + '' s = random() u = new _TT().encrypt(s) r = { "setLeft": x, "passtime": 固定, "userresponse": setLeft/1.0059466666666665+2, "device_id": device_id, "lot_number": lot_number, "pow_msg": pow_msg, "pow_sign": CryptoJS.MD5(pow_msg).toString(), "geetest": geetest, "lang": lang, "ep": ep, "ax4h": ax4h, "jiws": jiws, "em": em } c = _ss.encrypt(JSON.stringify(r), s) // console.log(fppu(fppu.toString())) console.log(_th(c) + u) return (0,_th(c)) + u }
点选就比较麻烦了需要用yolov训练,然后孪生训练,最后还有一堆逻辑要写,重复工作也多建议时间不充裕的可以放一放学安卓或者数据处理先后面再回来学,也可以直接用打码平台我是推荐打码但是钱包不允许我这么做
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。