Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

可能需要再次更新登陆协议 #2627

Closed
mckuhei opened this issue Apr 14, 2023 · 20 comments · Fixed by #2613
Closed

可能需要再次更新登陆协议 #2627

mckuhei opened this issue Apr 14, 2023 · 20 comments · Fixed by #2613

Comments

@mckuhei
Copy link
Contributor

mckuhei commented Apr 14, 2023

问题描述

使用最新版mirai登陆显示代码45(你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。),同时手机QQ旧版本登陆也显示需要更新到最新版。

复现

使用被风控的账号登陆mirai即可

mirai-core 版本

2.15.0-M1

bot-protocol

ANDROID_PAD

其他组件版本

No response

系统日志

2023-04-14 18:26:45 I/main: Auto-login 1704351741, protocol: ANDROID_PAD, heartbeatStrategy: STAT_HB
2023-04-14 18:26:48 E/main: net.mamoe.mirai.internal.network.auth.ProducerFailureException
net.mamoe.mirai.internal.network.auth.ProducerFailureException
        at net.mamoe.mirai.internal.network.auth.CoroutineOnDemandValueScope.receiveOrNull(CoroutineOnDemandValueScope.kt:152)
        at net.mamoe.mirai.internal.network.auth.AuthControl.acquireAuth(AuthControl.kt:98)
        at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:219)
        at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
        Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(1704351741), code=45, title=禁止登 录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)
                at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:450)
                at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt)
                at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
                at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
                at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
                ... 5 more
        Suppressed: net.mamoe.mirai.internal.network.handler.selector.SelectorRequireReconnectException
Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(1704351741), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)]

2023-04-14 18:26:48 I/Bot.1704351741: Bot cancelled: Bot closed

网络日志

日志已去除VT100控制字符以增强感官
2023-04-14 18:23:37 I/Net 1704351741: ECDH key is valid.
2023-04-14 18:23:37 V/Net 1704351741: [AuthControl/acquire] Acquiring auth method
2023-04-14 18:23:37 D/Net 1704351741: [AuthControl/acquire] Authorization responded: Error[net.mamoe.mirai.internal.network.auth.ProducerFailureException]@1556030260
2023-04-14 18:23:37 W/Net 1704351741: Failed with auth method: Error[net.mamoe.mirai.internal.network.auth.ProducerFailureException]@1556030260
net.mamoe.mirai.internal.network.auth.ProducerFailureException
        at net.mamoe.mirai.internal.network.auth.CoroutineOnDemandValueScope.receiveOrNull(CoroutineOnDemandValueScope.kt:152)
        at net.mamoe.mirai.internal.network.auth.AuthControl.acquireAuth(AuthControl.kt:98)
        at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:219)
        at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(1704351741), code=45, title=禁止登录, message= 你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)
        at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:450)
        at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
        at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        ... 5 more

2023-04-14 18:23:37 W/Net 1704351741: Exception in resumeConnection.
net.mamoe.mirai.internal.network.auth.ProducerFailureException
        at net.mamoe.mirai.internal.network.auth.CoroutineOnDemandValueScope.receiveOrNull(CoroutineOnDemandValueScope.kt:152)
        at net.mamoe.mirai.internal.network.auth.AuthControl.acquireAuth(AuthControl.kt:98)
        at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:219)
        at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
        Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(1704351741), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)
                at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:450)
                at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt)
                at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
                at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
                at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
                ... 5 more
        Suppressed: java.lang.IllegalStateException: Fast login failed: Error(bot=Bot(1704351741), code=16, title=登录失败, message=你的用户身份已失效,为保证帐号安全,请你重新登录。, errorInfo=)
                at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$FastLoginImpl.doLogin(SsoProcessor.kt:488)
                at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$FastLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt)
                at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
                at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
                at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
                ... 5 more
Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(1704351741), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)]

2023-04-14 18:23:37 W/Net 1704351741: Network selector received exception, closing bot. (net.mamoe.mirai.internal.network.auth.ProducerFailureException)

补充信息

原始网络日志:
2023-04-14.log

@cssxsh
Copy link
Contributor

cssxsh commented Apr 14, 2023

code=45code=235 不一样,
code=45 属于另一类问题,单纯的提高协议版本没有用,需要更新一些协议细节

@mckuhei
Copy link
Contributor Author

mckuhei commented Apr 14, 2023

好的,希望能解决

@alongw
Copy link

alongw commented Apr 14, 2023

2.14.0有同样的问题,在所有设备协议上

@mckuhei
Copy link
Contributor Author

mckuhei commented Apr 14, 2023

补充:使用最新的手机QQ能够正常登陆,mirai依然不行

@alongw
Copy link

alongw commented Apr 14, 2023

我通过更换版本到2.15.0-M1,错误变成了237

@StageGuard
Copy link
Member

#2613

@mckuhei
Copy link
Contributor Author

mckuhei commented Apr 14, 2023

#2613

能否发个预构建的,不太会构建

@mckuhei
Copy link
Contributor Author

mckuhei commented Apr 14, 2023

image
最新状况,使用二维码登陆可以绕过风控限制

@mckuhei
Copy link
Contributor Author

mckuhei commented Apr 14, 2023

image
将登陆成功的device.json和cache文件夹拷贝到服务器

@qfys521
Copy link

qfys521 commented Apr 14, 2023

image 最新状况,使用二维码登陆可以绕过风控限制

found need mod peer

@cssxsh
Copy link
Contributor

cssxsh commented Apr 14, 2023

image 最新状况,使用二维码登陆可以绕过风控限制

首先二维码登录的默认协议 是 ANDROID_WATCH,而密码登录的默认协议是 ANDROID_PHONE
本质上不是绕过了风控,而是 ANDROID_WATCH 风控本来就不强

@mckuhei
Copy link
Contributor Author

mckuhei commented Apr 14, 2023

好像确实,但是拷贝到服务器上不管用,目前正在尝试直接在服务器扫码登陆,手机端使用V2rayNG来代理socks5协议然后再用QQ扫码

@mckuhei
Copy link
Contributor Author

mckuhei commented Apr 14, 2023

$@U3CNR%)@BOVAAA0E PF10
尝试失败了,估计是服务器IP被拉黑了

@mckuhei
Copy link
Contributor Author

mckuhei commented Apr 14, 2023

$@U3CNR%)@BOVAAA0E PF10 尝试失败了,估计是服务器IP被拉黑了

更新:并不是被拉黑了,是QQ分身没走代理导致的,现在已经在服务器登陆上了

@Him188 Him188 linked a pull request Apr 15, 2023 that will close this issue
5 tasks
@MrY-Cat
Copy link
Contributor

MrY-Cat commented Apr 21, 2023

#2640 用2.14.0没啥事,用原来的device和cache换2.15.0-M1过几个小时就说QQ版本过低了qaq

@MrY-Cat
Copy link
Contributor

MrY-Cat commented Apr 21, 2023

#2640 用2.14.0没啥事,用原来的device和cache换2.15.0-M1过几个小时就说QQ版本过低了qaq

然后回退到2.14也不行,每次都删device和cache,ANDROID_WATCH 是237 ANDROID_PAD和MACOS 是45,这可咋整啊

@alongw
Copy link

alongw commented Apr 21, 2023

#2640 用2.14.0没啥事,用原来的device和cache换2.15.0-M1过几个小时就说QQ版本过低了qaq

然后回退到2.14也不行,每次都删device和cache,ANDROID_WATCH 是237 ANDROID_PAD和MACOS 是45,这可咋整啊

对我也是 我大号没什么问题一直 用的旧版 小号一直触发滑块 用传统的方法237,安装那个插件就直接启动过程中卡死

@MrY-Cat
Copy link
Contributor

MrY-Cat commented Apr 25, 2023

换了个机器人也是,一从2.14更新到2.15.0-M1就45了,然后不支持扫码的协议都是滑块验证后45,就只能扫码,然后扫码MACOS也是45,就只能ANDROID_WATCH,但ANDROID_WATCH一堆奇怪的限制略难用。
702CED43

剧本一模一样,难道是因为更新2.15之后没有删2.14.0存的cache和device所以45了(?)

有没有人更新到2.15.0-M1但还能用除了ANDROID_WATCH扫码之外的方式登录成功的呀,分享一下经验)

@mckuhei
Copy link
Contributor Author

mckuhei commented Apr 25, 2023

换了个机器人也是,一从2.14更新到2.15.0-M1就45了,然后不支持扫码的协议都是滑块验证后45,就只能扫码,然后扫码MACOS也是45,就只能ANDROID_WATCH,但ANDROID_WATCH一堆奇怪的限制略难用。 702CED43

剧本一模一样,难道是因为更新2.15之后没有删2.14.0存的cache和device所以45了(?)

有没有人更新到2.15.0-M1但还能用除了ANDROID_WATCH扫码之外的方式登录成功的呀,分享一下经验)

我是登陆成功被踢下线然后风控了

@MrY-Cat
Copy link
Contributor

MrY-Cat commented Apr 25, 2023

我刚开始也是有几个小时登录成功,当时是ANDROID_PAD协议,然后被踢了就45

换了个机器人也是,一从2.14更新到2.15.0-M1就45了,然后不支持扫码的协议都是滑块验证后45,就只能扫码,然后扫码MACOS也是45,就只能ANDROID_WATCH,但ANDROID_WATCH一堆奇怪的限制略难用。 702CED43
剧本一模一样,难道是因为更新2.15之后没有删2.14.0存的cache和device所以45了(?)
有没有人更新到2.15.0-M1但还能用除了ANDROID_WATCH扫码之外的方式登录成功的呀,分享一下经验)

我是登陆成功被踢下线然后风控了

@Him188 Him188 closed this as not planned Won't fix, can't repro, duplicate, stale May 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants