Skip to content

Latest commit

 

History

History
125 lines (108 loc) · 3.76 KB

File metadata and controls

125 lines (108 loc) · 3.76 KB

ColorMirai

返回

新新版方法(小白必看)

  1. 下载并在你的手机上安装MiraiAndroid
https://install.appcenter.ms/users/mzdluo123/apps/miraiandroid/distribution_groups/release

不能装在任何模拟器上 2. 在MiraiAndroid登录需要的QQ号并完成验证过程 3. 导出device.json 4. 替换原来的device.json

新版本方法

https://mirai.mamoe.net/topic/223/%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95%E7%9A%84%E4%B8%B4%E6%97%B6%E5%A4%84%E7%90%86%E6%96%B9%E6%A1%88

注:在ColorMirai中设备的信息文件名叫info.json

旧版本方法

(这个是旧版本的使用说明)

  1. 使用安卓模式登录
"LoginType":"ANDROID_PHONE"
  1. 启动之后会出现一个网址
  2. 打开浏览器
  3. 按下F12打开浏览器控制台
  4. 浏览器切换到手机模式(不懂自行百度)
  5. 复制ColorMirai控制台的网址打开
  6. 复制下面的内容到浏览器控制台(console),并回车
/*
 * 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());
        }
    })();
})()
  1. 复制网页弹窗的内容复制到ColorMirai控制台中回车
  2. 如果需要设备锁认证就打开网址完成设备锁认证

图解

a
b
c
d

如果没有弹窗出现,检查下是不是用的手机模式,或者多试几次,如果还不行,去network哪里找ticket对应的值填到框里面。 还不会私聊发远程桌面

填ticket的是shabi
填ticket的是shabi
填ticket的是shabi