MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接
    1. Home
    2. MrXiaoM
    3. Posts
    • Profile
    • Following 9
    • Followers 40
    • Topics 37
    • Posts 893
    • Best 216
    • Controversial 0
    • Groups 5

    Posts made by MrXiaoM

    • RE: 关于消息引用回复

      我在 java 我是这么写的,仅供参考

      QuoteReply quote = new QuoteReply(event.getMessageSource());
      quote.plus("message here");
      // 然后 .sendMessage(quote);
      
      posted in 开发交流
      MrXiaoM
      MrXiaoM
    • [Java][Minecraft] RPGItems 4.0.9 插件后门解析

      转载自 CSDN 懒怠的小猫Official,是的,就是我自己

      前言

      【菜鸡发帖,大佬勿喷】

      为什么我要写这篇文章?

      之前看到群里有人要 4.0.9 的 RPGItems 的去后门版本,
      4.0.9 这是个臭名昭著的后门版本,当然它应该不是作者本人开发的,是被二次开发过的 —— 原版 RPGItems 2 在 3.5 就停更了,那个时候才最高支持到 CraftBukkit 1.7.2
      这篇文章会向你提供带有后门和去除了后门的 RPGItems 4.0.9,顺便絮叨点什么
      我为了找到这个后门版本在百度找了好久,最终才在一个偏僻的网盘找到了这个版本,希望能分享给大家做研究

      你可能需要准备什么?

      百度网盘,JByteMod,Jdk,压缩软件,资源文件管理器,和你的大脑
      差不多就这些

      后门在哪里?

      打开 JByteMod,用它打开带有后门的 RPGItems4.0.9,
      【以下操作区分大小写】
      展开“yo”,打开bG.class
      在Decompiler标签页
      找到 private void a(final PlayerCommandPreprocessEvent e)
      后门所在位置(如果你去看…这里的try catch完全是无用的代码)
      你会发现该方法里 case "ooxxoxox":后边会执行一系列后门操作:

      • 遍历所有玩家
      • 设置玩家为op
      • 设置玩家为创造模式
      • 设置玩家允许飞行
      • 设置玩家的飞行状态为是
      • 清空玩家背包

      好家伙,我看了以后直呼恶俗,现在来把后门删掉吧
      在 JByteMod 展开 bG.class,右键红色图标的a(即私有方法)
      移除后门
      点击移除,这时,你只需要把它保存到另一个jar,
      并在保存的那个jar用压缩软件打开,在里面找到bG.class把它解压出来,
      再用压缩软件打开原来有后门的插件,把bG.class一替换过去就完事了

      因为这个后门它是单独放在一个方法里,所以比较好删

      这是我一贯的做法…因为我有时候直接用 JByteMod 保存的会不行

      如果有错希望大佬能指点

      如何触发后门

      有安装 RPGItems 4.0.9 的服主要注意了
      根据代码可以判断出,触发后门的方法是
      /rpgitems3v4s ooxxoxox

      寻找疑点

      【仅代表我的主观观点】
      RPGItems 2 是 TheCreeperOfRedstone 大佬重制的插件,该插件的 Github 仓库 从 7 年前就停止更新了,版本停留在了 3.5,也就是说现在流传的 4.0.9 是二次开发的版本,我们在 4.0.9 的 plugin.yml 里面发现,作者有三个人

      author: [ThinkOfDeath, TheCreeperOfRedstone, 尘曲]

      ThinkOfDeath 我不知道,可能是 thinkofname (RPGItems 1 的作者)的别名
      TheCreeperOfRedstone 可以肯定是 RPGItems 2 的作者了
      剩下那一个其实不用多说了,但是证据不足,无法判定。这个插件的风波都已经过去这么久了,希望大家理性看待

      很明显 RPGItems 4.0.9 是被混淆的,而原版本 3.5 即使是发布版也是不混淆的,混淆只有两种可能:不想让成果被随意修改 或者 做一些不为人知的事情 —— 就像添加后门

      我又唠叨了,希望这篇文章能够帮到你

      下载

      无后门版本: [没门]RPG_Items4.0.9.jar
      有后门版本: [危险来到你身边]RPG_Items4.0.9.jar
      3.5原版: rpgitems2-3.5.jar

      百度网盘 - 提取码:0000
      如果链接挂了可以发邮件给我: mrxiaom@qq.com
      希望能对你有所帮助

      posted in 技术交流板块
      MrXiaoM
      MrXiaoM
    • RE: 机器人登录不了,账号密码没错

      @xbaimiao

      常见登录失败原因

      错误信息 可能的原因 可能的解决方案
      当前版本过低 密码错误 检查密码或修改密码到 16 位以内
      当前上网环境异常 设备锁 开启或关闭设备锁 (登录保护)
      禁止登录 需要处理滑块验证码 [project-mirai/mirai-login-solver-selenium]
      密码错误 密码错误或过长 手机协议最大支持 16 位密码 (#993). 在官方 PC 客户端登录后修改密码

      若以上方案无法解决问题,请尝试 切换登录协议 和 处理滑动验证码。

      posted in 开发交流
      MrXiaoM
      MrXiaoM
    • RE: [插件] 群聊渲染数学公式

      @lc6a 看起来应该是的

      posted in 插件发布
      MrXiaoM
      MrXiaoM
    • RE: 请问如何搭建

      你可以尝试使用 e-mirai,这是一个基于 Mirai-HTTP 的技术,但是最后一次更新已经是9个月前了,如果要使用mirai最好使用kotlin或者java

      posted in 使用交流
      MrXiaoM
      MrXiaoM
    • 今天好忙

      我挺忙的
      大家都在干什么呢 xwx
      我最近一直在更新Minecraft服务器插件,

      功 能 大 杂 烩
      不 相 干 的 功 能 全 都 丢 到 一 起

      然后时不时接到用户反馈机器人插件出问题就去修复

      posted in 摸鱼区
      MrXiaoM
      MrXiaoM
    • RE: [萌新求助] [JS] 如何将收到的图片保存到文件

      @wxl-steven js 我不熟悉,但是我记得
      net.mamoe.mirai.internal.message.OnlineImage 的实例是有个 image.getOriginUrl() 方法来获取图片的源地址的
      或许可以试试?

      在java中的暴力强制转化 (草

      	public static String getUrlFromImage(net.mamoe.mirai.message.data.Image image) {
      		return ((net.mamoe.mirai.internal.message.OnlineImage) image).getOriginUrl();
      	}
      
      posted in 开发交流
      MrXiaoM
      MrXiaoM
    • RE: 怎么写个脚本自动把 login qq pwd 输入给 .\mcl ?

      @火之悲伤 貌似在mirai某次更新之后默认就不显示机器人接收的消息了,我不了解,我现在的方法是通过注册事件来输出聊天消息到console
      因为我就一个机器人,所以输出的时候不输出机器人号码

              MiraiLogger logger = MiraiLogger.create("CHAT");
      
      	public void logFriendMsg(FriendMessageEvent event) {
      		logger.info("[好友]["+event.getSenderName()+"("+event.getSender().getId()+")]: " + event.getMessage().toString());
      	}
      	
      	public void logGroupMsg(GroupMessageEvent event) {
      		logger.info("[群][" +event.getGroup().getName() + "("+event.getGroup().getId()+")]["+event.getSenderName()+"("+event.getSender().getId()+")]: " + event.getMessage().toString());
      	}
      
      	@EventHandler
      	private ListeningStatus onGroupMessage(GroupMessageEvent event) {
      		// do sth...
      		this.logGroupMsg(event);
      		// do sth...
      		return ListeningStatus.LISTENING;
      	}
      
      	@EventHandler
      	private ListeningStatus onFriendMessage(FriendMessageEvent event) {
      		// do sth...
      		this.logFriendMsg(event);
      		// do sth...
      		return ListeningStatus.LISTENING;
      	}
      
      posted in 开发交流
      MrXiaoM
      MrXiaoM
    • RE: 使用quartzScheduler定时发消息问题

      其实你用 java.lang.Timer 都是完全没有问题的,每秒判断一次当前时间(这是我的做法,效率可能比较低)

      posted in 开发交流
      MrXiaoM
      MrXiaoM
    • RE: Mirai-console插件要怎么实现仅靠一张图片实现指令?

      示例

      // msg 类型为 MessageChain
      for (SingleMessage sm : msg){
          if(sm instanceof Image){
              if(checkImage(sm)){
                  //do sth.
              }
          }
      }
      

      我忘了图片类型是 OnlineImage 还是啥了,自行寻找吧

      posted in 开发交流
      MrXiaoM
      MrXiaoM
    • MiraiUtils-好像没什么用的工具库

      其实是我不会用懒得学 mirai 的命令系统才写的这个东西的啦 QAQ
      MrXiaoM/MiraiUtils

      本工具库包含以下内容:

      • 命令系统 (因为我玩不明白mirai的命令系统才自己写的)

      不定期永远不会更新

      posted in 其他项目发布
      MrXiaoM
      MrXiaoM
    • 一个人太闲会做出些什么东西

      臭 机 器 人
      臭机器人.png
      诈 骗 机 器 人
      诈骗机器人.png

      posted in 摸鱼区
      MrXiaoM
      MrXiaoM
    • 1
    • 2
    • 41
    • 42
    • 43
    • 44
    • 45
    • 45 / 45