MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接
    1. 主页
    2. WorldLeen
    3. 主题
    • 资料
    • 关注 0
    • 粉丝 2
    • 主题 3
    • 帖子 30
    • 最佳 4
    • 有争议的 0
    • 群组 1

    WorldLeen 创建的主题

    • WorldLeen

      MiraiSignHandler —— Mirai对接Sign签名服务器,解决登录code=45失败和签名消息发送风控
      项目发布 • • WorldLeen

      40
      1
      赞同
      40
      帖子
      8279
      浏览

      WorldLeen

      MiraiSignHandler —— Mirai对接Sign签名服务器,解决code=45登录失败和签名风控检测

      注意:Mirai-2.15.0的FixProtocolVersion已经内置了对签名服务器的支持,已经不再需要本项目进行支持维护,请查阅官方相关文档。本贴已弃用

      这是什么?

      最近腾讯加大了对Bot的管控,Mirai几乎全军覆没 code=45
      不过好在已经有大神完美破解了code=45的Sign签名验证
      因为Mirai官方一直没有更新,自己又比较急着用,所以我就先下手为强了
      目前本人已经成功越过code=45,Bot已完美正常工作

      使用方式:

      1.下载并使用mirai-core-all-2.15.0-抢先体验版
      因为官方的mirai还没有支持Sign签名功能,说会在2.15.0正式版支持,但大家可能急着用,因此这里构建了抢先体验版可以立刻下载
      在官方发布2.15.0正式版之后,就不需要使用我的抢先体验版了

      2.添加本插件所需的前置库
      gson
      为了处理Json数据,使用gson作为前置,请将其放到libs里
      FixProtocolVersion-1.8.4-魔改版
      不同QQ版本签名不同,这里支持了8.9.58,也就是FixProtocolVersion-1.8.4的协议版本。
      但因为FixProtocolVersion自带了一个energy(tlv544),对接后完全使用签名认证服务器的energy签名,不用FixProtocolVersion带的,防止冲突,请下载使用我魔改过移除了energy的FixProtocolVersion

      3.搭建签名认证服务器
      参见此处:https://github.com/fuqiuluo/unidbg-fetch-qsign
      需使用txlibs为8.9.58的这两个
      端口需要设定为11053(插件代码里写的端口)

      4.下载和安装我的修复插件
      MiraiSignHandler.jar
      添加到前置,在Bot运行之前加入以下代码:

      FixProtocolVersion.update(); //先执行FixProtocolVersion的修复,我的插件才能获取正确的协议版本 MiraiSignHandler.register();

      5.运行Mirai
      需要以ANDROID_PHONE协议运行,使用密码登录
      你应该会看到后台在运行过程中多了很多getSign/getEnergy fire/response的日志,fire说明触发需要签名,response说明签名结果获得,如果都有说明你的程序已经正常工作

      常见问题解答:

      Q:我没能搭建好签名认证服务器/签名认证服务器工作不正常或崩溃
      A:请联系项目unidbg-fetch-qsign的作者而不是我,我是本插件的作者,但不是unidbg-fetch-qsign的作者
      Q:可以支持mirai-console或者其他的吗?
      A:可以,但我会在2.15.0正式版发布后再做支持
      Q:你一定保证我折腾之后能登录上去吗?
      A:我能告诉你我的code=45已经解决了,毫无疑问是有效果的。但没人能保证你一定登的上去,这要看tx的心情
      Q:源码会发到github上吗?
      A:会,但是还是那个原因,我会在官方更新2.15.0正式版之后再发源码到github
      Q:为什么都登录完了还一直在刷Sign的日志
      A:因为在正常发消息过程中,偶尔也会出现签名验证去检查风控你,这就是为什么某些Bot运行着突然就被踢下线或无法发送消息出去的缘故
      Q:通过code=45登录验证之后,一个小时后被冻结了
      A:这是很正常的,TX还会检测你的聊天信息,像机器人的时候就会把你冻结掉,你可以人工解冻,在这之后再次被冻结的概率会明显降低
      Q:能更换其他登陆协议吗?
      A:目前只支持安卓手机登陆,因为txlibs是从安卓QQ的apk里拿的
      Q:能更换其他协议版本吗?
      A:可以,首先你要修改Mirai的使用协议版本(如FixProtocolVersion更新导致的版本变化),然后请自行更换签名服务器里的txlibs为对应正确版本的才能登录(去QQ官方下载手机QQ.apk,然后把里面的libs so文件拿出来放到签名服务器下面)。本插件会自动获取当前协议版本运行。

    • WorldLeen

      【已解决】非常绝望,目前已尝试所有办法都无法登录
      开发交流 • • WorldLeen

      26
      0
      赞同
      26
      帖子
      3989
      浏览

      WorldLeen

      自从24号腾讯开始大规模封杀机器人之后,项目就一直没有正常运行过,我不知道大家是否跟我一样,但是我得跟大家说一下尝试过程

      1.mirai-2.15.0-RC + fix-protocol-version-1.8.4
      使用ANDROID_PHONE,密码登录:
      code=45,无法登陆

      2.mirai-2.15.0-RC + fix-protocol-version-1.8.4 协议设定为8.8.88
      使用ANDROID_PAD,密码登录:
      成功登录了,但程序只工作了大约8小时后被踢下线,随后无法再以此方式登录,code=45

      3.mirai-2.15.0-RC + fix-protocol-version-1.8.4
      使用MACOS,扫码登录:
      code=45,无法登陆

      4.mirai-2.15.0-RC + fix-protocol-version-1.8.4
      使用ANDROID_WATCH,扫码登录:
      登录失败,被提示要求在同一网络环境下登陆

      5.mirai-2.15.0-RC + fix-protocol-version-1.8.4
      使用ANDROID_WATCH,扫码登录,在本地架设mirai进程,用手机在同一内网下扫码:
      登录成功
      但程序只工作了1个小时之后,便无法再发送聊天消息。
      进程重启依然可以登陆,但依旧无法发送任何聊天消息

      很明显,目前我已经使用了所有可能的解决方案,但最终还是没能正常工作,可见腾讯对Bot封杀决心有多大。
      现在用户已经没有其他办法再工作了,只能期望于作者大佬能实现QQ的code=45 sign算法来登录了。(悲)

      后续编辑:
      让我们来解决它!

      https://mirai.mamoe.net/topic/2348/miraisignhandler-mirai对接sign签名服务器-解决登录code-45失败和签名风控检测/1
      目前已经彻底越过code=45,成功登录

    • WorldLeen

      235和238错误,目前已经彻底无法登录了
      BUG反馈 • • WorldLeen

      5
      0
      赞同
      5
      帖子
      592
      浏览

      WorldLeen

      现在不管使用什么登录协议(WATCH或者PHONE)都没有办法登录了,登录显示235(要求更新版本)或者238(要求手机号短信登录)错误
      之前也有过这样的情况,解决方案是直接把deviceInfo删除,随机刷一个新的设备信息出来,然后再登录,会提示新设备登录短信验证,通过之后就能登录了
      但今天开始,这个最后的办法也不行了,就算换了新的deviceInfo也没有办法登录,不管怎么修改都不行

      建议:
      目前腾讯QQ是把短信登录作为最高登录权重的,不管什么情况下的风控,短信登录都可以解除。所以考虑直接开发一下 短信登录 吧。好像只有这一个办法了

      另外吐一吐苦水:
      只能说腾讯是真的恶心哦,其他通讯软件比如Discord都是故意容许用户去做一些自动化Bot的,唯独马化腾这个,百般阻挠登录,各种风控,仗着自己是国民软件用户多就为所欲为了

    • 1 / 1