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

登录遇到 net.mamoe.mirai.internal.utils.crypto.DecryptionFailedException #2167

Closed
Keyezi opened this issue Jul 29, 2022 · 9 comments · Fixed by #2419
Closed

登录遇到 net.mamoe.mirai.internal.utils.crypto.DecryptionFailedException #2167

Keyezi opened this issue Jul 29, 2022 · 9 comments · Fixed by #2419
Labels
C 优先级: 最高 s:core 子系统: mirai-core t:bug 类型: bug x:protocol 属性: 协议相关
Milestone

Comments

@Keyezi
Copy link

Keyezi commented Jul 29, 2022

问题描述

这两天没管机器人,打开后台看后发现机器人由于未知原因崩溃,console直接卡死无法输入指令(急着修复当时没留日志)
然后使用全新mirai进行手表协议自动登录的时候发现无法登录导致Botclosed

复现

使用全新mirai+手表协议自动登录即可复现

mirai-core 版本

2.12.0

bot-protocol

ANDROID_WATCH

其他组件版本

console

系统日志

14:42:44 [INFO] iTXTech Mirai Console Loader version 2.0.1-b5303b5
  14:42:44 [INFO] https://github.com/iTXTech/mirai-console-loader
  14:42:44 [INFO] This program is licensed under GNU AGPL v3
  14:42:48 [INFO] Mirai Console Loader Announcement:
Mirai Console Loader 公告栏

如果在图片上传的时候遇到问题请与我们联系 (需要提供图片文件源本)
`- 如 Unsupported image type for ExternalResource *
`  considering use gif/png/bmp/jpg format.
`- Tracker: https://github.com/mamoe/mirai/issues/new/choose

常用资源整合
`- https://mirai.mamoe.net/topic/653

MCL 已推出 2.1.0,更好的支持 Mirai 2.11 的插件系统,建议更新。

  14:42:48 [INFO] Verifying "net.mamoe:mirai-console" v2.12.0
  14:42:48 [ERROR] "net.mamoe:mirai-console" is corrupted.
  14:42:48 [INFO] Updating "net.mamoe:mirai-console" to v2.12.0
 Downloading mirai-console-2.12.0.jar [==============================] 7.32 MB
 Downloading mirai-console-2.12.0.sha1 [==============================] 40 B
  14:42:50 [INFO] Verifying "net.mamoe:mirai-console-terminal" v2.12.0
  14:42:50 [ERROR] "net.mamoe:mirai-console-terminal" is corrupted.
  14:42:50 [INFO] Updating "net.mamoe:mirai-console-terminal" to v2.12.0
 Downloading mirai-console-terminal-2.12.0.jar [==============================] 1.26 MB
 Downloading mirai-console-terminal-2.12.0.sha1 [==============================] 40 B
  14:42:52 [INFO] Verifying "net.mamoe:mirai-core-all" v2.12.0
  14:42:52 [ERROR] "net.mamoe:mirai-core-all" is corrupted.
  14:42:52 [INFO] Updating "net.mamoe:mirai-core-all" to v2.12.0
 Downloading mirai-core-all-2.12.0.jar [==============================] 35.77 MB
 Downloading mirai-core-all-2.12.0.sha1 [==============================] 40 B
  14:42:55 [INFO] Verifying "org.itxtech:mcl-addon" v2.0.2
  14:42:55 [ERROR] "org.itxtech:mcl-addon" is corrupted.
  14:42:55 [INFO] Updating "org.itxtech:mcl-addon" to v2.0.2
 Downloading mcl-addon-2.0.2.jar [==============================] 51.64 KB
 Downloading mcl-addon-2.0.2.sha1 [==============================] 40 B
2022-07-29 14:42:58 I/main: Starting mirai-console...
2022-07-29 14:42:58 I/main: Backend: version 2.12.0, built on 2022-07-03 10:57:58.
2022-07-29 14:42:58 I/main: Frontend Terminal: version 2.12.0, provided by Mamoe Technologies
2022-07-29 14:42:58 I/main: Welcome to visit https://mirai.mamoe.net/
2022-07-29 14:42:58 W/stderr: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
2022-07-29 14:42:58 W/stderr: SLF4J: Defaulting to no-operation (NOP) logger implementation
2022-07-29 14:42:58 W/stderr: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2022-07-29 14:42:58 I/plugin: Successfully loaded plugin MCL Addon v2.0.2
2022-07-29 14:42:58 I/main: Prepared built-in commands: autoLogin, help, login, logout, permission, status, stop
2022-07-29 14:42:58 I/MCL Addon: iTXTech MCL Version: 2.0.1-b5303b5
2022-07-29 14:42:58 W/MCL Addon: iTXTech Soyuz 未安装,Soyuz MCL Handler 特性已禁用
2022-07-29 14:42:58 I/main: 1 plugin(s) enabled.
2022-07-29 14:42:59 I/WindowHelperJvm: Mirai 正在使用桌面环境. 如遇到验证码将会弹出对话框. 可添加 JVM 属性 `mirai.no-desktop` 以关闭.
2022-07-29 14:42:59 I/WindowHelperJvm: Mirai is using desktop. Captcha will be thrown by window popup. You can add `mirai.no-desktop` to JVM properties (-Dmirai.no-desktop) to disable it.
2022-07-29 14:42:59 I/main: Auto-login 2645963361
2022-07-29 14:42:59 W/stderr: ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
2022-07-29 14:43:21 I/Bot.2645963361: Bot cancelled: Bot closed
2022-07-29 14:43:21 E/main: net.mamoe.mirai.internal.utils.crypto.DecryptionFailedException
net.mamoe.mirai.internal.utils.crypto.DecryptionFailedException
        at net.mamoe.mirai.internal.utils.crypto.TEA.fail(TEA.kt:298)
        at net.mamoe.mirai.internal.utils.crypto.TEA.doOption$decrypt(TEA.kt:274)
        at net.mamoe.mirai.internal.utils.crypto.TEA.doOption(TEA.kt:294)
        at net.mamoe.mirai.internal.utils.crypto.TEA.decrypt(TEA.kt:318)
        at net.mamoe.mirai.internal.utils.crypto.TEA.decrypt$default(TEA.kt:317)
        at net.mamoe.mirai.internal.network.protocol.packet.login.wtlogin.WtLoginExt.analyzeTlv106(WtLoginExt.kt:378)
        at net.mamoe.mirai.internal.network.protocol.packet.login.WtLogin$Login.onLoginSuccess(WtLogin.kt:272)
        at net.mamoe.mirai.internal.network.protocol.packet.login.WtLogin$Login.decode(WtLogin.kt:181)
        at net.mamoe.mirai.internal.network.components.PacketCodecImpl.processBody(PacketCodec.kt:420)
        at net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler$PacketDecodePipeline$send$1.invokeSuspend(NettyNetworkHandler.kt:189)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Unknown Source)
        Suppressed: java.util.concurrent.CancellationException: Bot closed
                at kotlinx.coroutines.ExceptionsKt.CancellationException(Exceptions.kt:22)
                at net.mamoe.mirai.internal.AbstractBot.close(AbstractBot.kt:112)
                at net.mamoe.mirai.internal.QQAndroidBot.close(QQAndroidBot.kt:84)
                at net.mamoe.mirai.internal.AbstractBot.login(AbstractBot.kt:136)
                at net.mamoe.mirai.internal.AbstractBot$login$1.invokeSuspend(AbstractBot.kt)
                at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
                at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:279)
                at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
                at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
                at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
                at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
                at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
                at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:245)
                at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:464)
                at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:168)
                at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:167)
                at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:52)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.base/java.lang.reflect.Method.invoke(Unknown Source)
                at org.itxtech.mcl.Utility.bootJars(Utility.java:89)
                at org.itxtech.mcl.Utility.bootJars(Utility.java:79)
                at org.itxtech.mcl.Utility.bootMirai(Utility.java:101)
                at org.itxtech.mcl.module.builtin.Boot.boot(Boot.java:109)
                at org.itxtech.mcl.module.ModuleManager.phaseBoot(ModuleManager.java:148)
                at org.itxtech.mcl.Loader.lambda$start$4(Loader.java:189)
                at org.itxtech.mcl.Loader.tryCatching(Loader.java:146)
                at org.itxtech.mcl.Loader.start(Loader.java:189)
                at org.itxtech.mcl.Loader.main(Loader.java:79)
        [CIRCULAR REFERENCE:net.mamoe.mirai.internal.utils.crypto.DecryptionFailedException]

2022-07-29 14:43:21 I/main: mirai-console started successfully.

网络日志

�[0m2022-07-29 14:43:02 V/Net 2645963361: No server list cached.�[0m
�[92m2022-07-29 14:43:02 I/Net 2645963361: ECDH key is invalid, start to fetch ecdh public key from server.�[0m
�[92m2022-07-29 14:43:02 I/Net 2645963361: Successfully fetched ecdh public key from server.�[0m
�[0m2022-07-29 14:43:02 V/Net 2645963361: Send: wtlogin.login�[0m
�[0m2022-07-29 14:43:02 V/Net 2645963361: Recv: wtlogin.login�[0m
�[0m2022-07-29 14:43:21 V/Net 2645963361: Send: wtlogin.login�[0m
�[0m2022-07-29 14:43:21 V/Net 2645963361: Recv: wtlogin.login�[0m
�[0m2022-07-29 14:43:21 V/Net 2645963361: Send: wtlogin.login�[0m
�[31m2022-07-29 14:43:21 E/Net 2645963361: Exception in decoding packet.
net.mamoe.mirai.internal.utils.crypto.DecryptionFailedException
	at net.mamoe.mirai.internal.utils.crypto.TEA.fail(TEA.kt:298)
	at net.mamoe.mirai.internal.utils.crypto.TEA.doOption$decrypt(TEA.kt:274)
	at net.mamoe.mirai.internal.utils.crypto.TEA.doOption(TEA.kt:294)
	at net.mamoe.mirai.internal.utils.crypto.TEA.decrypt(TEA.kt:318)
	at net.mamoe.mirai.internal.utils.crypto.TEA.decrypt$default(TEA.kt:317)
	at net.mamoe.mirai.internal.network.protocol.packet.login.wtlogin.WtLoginExt.analyzeTlv106(WtLoginExt.kt:378)
	at net.mamoe.mirai.internal.network.protocol.packet.login.WtLogin$Login.onLoginSuccess(WtLogin.kt:272)
	at net.mamoe.mirai.internal.network.protocol.packet.login.WtLogin$Login.decode(WtLogin.kt:181)
	at net.mamoe.mirai.internal.network.components.PacketCodecImpl.processBody(PacketCodec.kt:420)
	at net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler$PacketDecodePipeline$send$1.invokeSuspend(NettyNetworkHandler.kt:189)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Unknown Source)
�[0m

补充信息

写的如果不清楚麻烦请提醒补充,谢谢

@Keyezi
Copy link
Author

Keyezi commented Jul 29, 2022

补充:中途提醒设备锁保护进行了验证,但是没有提醒验证码

@Him188
Copy link
Member

Him188 commented Jul 29, 2022

试试删除 account.secrets, 不行就删除 cache 目录?

@Keyezi
Copy link
Author

Keyezi commented Jul 29, 2022

试试删除 account.secrets, 不行就删除 cache 目录?

全新安装测试,试过几次了

@Him188
Copy link
Member

Him188 commented Jul 29, 2022

尝试关掉设备锁. 不行的话可能需要你的账号密码帮助调试, 如果你愿意提供, 可以发邮件给 support@mamoe.net. 账号仅用于测试是否能登录.

@Keyezi
Copy link
Author

Keyezi commented Jul 29, 2022

尝试关掉设备锁. 不行的话可能需要你的账号密码帮助调试, 如果你愿意提供, 可以发邮件给 support@mamoe.net. 账号仅用于测试是否能登录.

太晚了,今天刚吃了席,明天私聊给你

@yuanbolin
Copy link

补充:中途提醒设备锁保护进行了验证,但是没有提醒验证码

请问如何通过设备锁,扫码成功后关闭弹窗马上又弹出一个

@Keyezi
Copy link
Author

Keyezi commented Aug 9, 2022

补充:中途提醒设备锁保护进行了验证,但是没有提醒验证码

请问如何通过设备锁,扫码成功后关闭弹窗马上又弹出一个

大多数情况下是设备锁没验证成功就退出了窗口,还有一种情况是登陆就封号了

@Him188 Him188 changed the title ANDROID_WATCH协议无法登录,BotClosed 登录遇到 net.mamoe.mirai.internal.utils.crypto.DecryptionFailedException Aug 26, 2022
@Him188 Him188 added t:bug 类型: bug x:protocol 属性: 协议相关 M 优先级: 主要 s:core 子系统: mirai-core labels Aug 26, 2022
@Him188 Him188 added this to the 2.14 milestone Aug 26, 2022
@codievilky
Copy link

同遇到问题,看起来是服务到使用了新的 key 的格式吗?目前有什么解决方案吗?

@MR-XieXuan
Copy link
Contributor

image
我也是

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C 优先级: 最高 s:core 子系统: mirai-core t:bug 类型: bug x:protocol 属性: 协议相关
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants