《你的写法是我从来没见过的》
MrXiaoM 发布的帖子
-
Natsuko - 一只乱七八糟的机器人
我觉得我这个写得一塌糊涂的机器人不应该发在插件版…
Github: MrXiaoM/Natsuko
之前我在我群里一直要承诺把我的机器人开源的,
但是因为一直没写配置文件让机器人更好编辑而搁置了
现在懒得写了,写了一半不到的配置文件,剩下一些功能自己去源码改,
因为这个原因我不会给出编译好的jar,若要使用务必自行编译功能
当前 Natsuko 的功能如下
- 看涩图(要自己加图进去
- 黑名单
- 机器人收到私信自动转发给主人
- 操控机器人发消息
- mcban查询
- Minecraft服务器状态查询 (支持 SRV)
- 百度新闻
- 自动回复消息
- 需要管理手动触发的人机验证 (需要自己加题目)
- [已弃用且停止维护]
Minecraft服务器挂机机器人
一切以Github页面的README为准
-
RE: 关于消息引用回复
我在 java 我是这么写的,仅供参考
QuoteReply quote = new QuoteReply(event.getMessageSource()); quote.plus("message here"); // 然后 .sendMessage(quote);
-
[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
希望能对你有所帮助 -
RE: 请问如何搭建
你可以尝试使用 e-mirai,这是一个基于 Mirai-HTTP 的技术,但是最后一次更新已经是9个月前了,如果要使用mirai最好使用
kotlin
或者java
-
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(); }
-
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; }
-
RE: Mirai-console插件要怎么实现仅靠一张图片实现指令?
示例
// msg 类型为 MessageChain for (SingleMessage sm : msg){ if(sm instanceof Image){ if(checkImage(sm)){ //do sth. } } }
我忘了图片类型是 OnlineImage 还是啥了,自行寻找吧
-
MiraiUtils-好像没什么用的工具库
其实是我不会用
懒得学mirai 的命令系统才写的这个东西的啦 QAQ
MrXiaoM/MiraiUtils本工具库包含以下内容:
- 命令系统 (因为我玩不明白mirai的命令系统才自己写的)
不定期
永远不会更新