验证无法通过?被风控了?
都过来试试这个,不能说100%有效,只能说是极少数不行
要使用的东西:Mirai客户端和Google或者Edge(可能会用到手机来接收验证码,最好准备一台)
步骤一:先打开Google或者Edge,接着按F12(Mac用fn+F12)进入开发者模式,然后在上面有个图标(手机和pc的图标)点进去,在左边就会显示选择的操作设备的界面,接着在左边的界面上找到 [尺寸] 这个选项,然后选择Pixel 5,即可!(如果说你的Mirai登陆方式是PAD,那就在上面选择安卓之类的pad界面,Watch就没办法了,IPAD的也可以找到)
0.png
接着,在右边(开发者操作面板的上方技能选项中找到控制带选项,如果没有就点击 “》” - 网络 - 控制台)
1.png
步骤二:把在客户端上弹出来的窗口上所需要的地址copy的浏览器上的地址栏,跳转到了之后,再次看向”控制台“,此时你只需要一串代码(代码会放在下方),将这串代码copy到控制台上,按回车,控制台上就会显示true即可进行滑块操作,一般会重复一次(即需要进行两次操作)
步骤三:进行完上述操作后,浏览器上会弹出一个窗口,上面面有一串地址(就是你需要copy的ticket),把那条地址copy到Mirai弹出的窗口中的回答栏里,就可以通过风控验证啦!!!
步骤四(你可能会用到):那当然是手机验证码啦,你手机能收到验证码就行!!!
这是上述操作提到的代码,一定要仔细地复制,少一个都不行!!!
/*
* Copyright 2019-2021 Mamoe Technologies and contributors.
*
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
* Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
*
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
!(() => {
let prompt = window.prompt;
// jsbridge://CAPTCHA/onVerifyCAPTCHA?p=....#2
/**
* @type {string} url
* @return {boolean}
*/
function processUrl(url) {
let prefix = "jsbridge://CAPTCHA/onVerifyCAPTCHA?p="
if (url.startsWith(prefix)) {
let json = url.substring(prefix.length);
for (let i = json.length; i--; i > 0) {
let j = json.substr(0, i)
console.log(j);
try {
let content = decodeURIComponent(j);
let obj = JSON.parse(content);
console.log(obj);
window.miraiSeleniumComplete = content;
prompt("MiraiSelenium - ticket", obj.ticket)
break;
} catch (ignore) {
}
}
return true;
}
return false;
}
(() => {
let desc = Object.getOwnPropertyDescriptor(Image.prototype, "src");
Object.defineProperty(Image.prototype, "src", {
get: desc.get,
set(v) {
if (processUrl(v)) return;
desc.set.call(this, v)
}
})
})();
(() => {
let desc = Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype, "src");
Object.defineProperty(HTMLIFrameElement.prototype, "src", {
get: desc.get,
set(v) {
if (processUrl(v)) return;
desc.set.call(this, v)
}
})
})();
(() => {
let UserAgent = "${MIRAI_SELENIUM-USERAGENT}";
if (UserAgent !== "${MIRAI_SELENIUM-USERAGENT}") {
Object.defineProperty(Navigator.prototype, "userAgent", {
get() {
return UserAgent
}
});
document.querySelectorAll("script").forEach(it => it.remove());
}
})();
})()
END
希望需要的人可以仔细阅读这篇文章,操作其实不复杂的,操作和看过一遍的人,都会背下来记住了呢,听说那些人都是聪明人!!!