MCProtect Rebuild —— 反各种压测,封禁机器码,反后门[全版本]-服务端插件论坛-资源发布-像素交际

MCProtect Rebuild —— 反各种压测,封禁机器码,反后门[全版本]

英文名称: MCProtect Rebuild
中文名称: MC守护者 重制版
插件来源: 原创
适用服务端: CraftBukkit Spigot
插件类型: 管理 安全
语言支持: 简体中文
适用版本: 1.12 1.11 1.10 1.9 1.8 1.7.10 1.7.2 1.6 其他
前置Mod|插件:
下载地址: https://www.mcbbs.net/thread-630067-1-1.html
原帖地址: https://www.mcbbs.net/thread-630067-1-1.html
插件Logo:
插件简介:
[MCProtect Rebuild]

保护服务器?一个插件就够了!

这是一个ALL IN ONE 的插件

强大的[?]功能却有更低的占用


关于说有报毒的同学…
请参考以下在线检测报告
http://r.virscan.org/report/0f2377c7049a3a97e5b3000d634f9b8f

更新:独立反压侧看这里
http://www.mcbbs.net/thread-654167-1-1.html
兼容所有核心



简介&详细原理

MCPRB和其他的反压测插件有什么不同?

其他插件:客户端发送数据包->服务端接收->插件过滤
MCPRB:客户端发送数据包->MCPRB过滤->服务端接收

更加直观的说,如果被MCPRB拦截,不会出现提示,只会…

图片[1]-MCProtect Rebuild —— 反各种压测,封禁机器码,反后门[全版本]-服务端插件论坛-资源发布-像素交际

2016-09-01_185711.png (7.4 KB, 下载次数: 36)

下载附件

2016-9-1 22:19 上传



MCProtect对资源占用是同类工具中最低的,没有之一

其他的插件使用MC内置的Event或者PL监听
但是这里有个很严重的问题:
当服务器向插件抛出这个消息的时候,实际上已经进行了许多工作
(比如验证用户,读取握手包,创建配置等等)
虽然此时中断了后续操作(也就是踢出用户),但是为时已晚

MCP要求使用javaagent进行挂载,这意味着在服务器启动前就已经加载了插件
所以就可以监视服务器每个类的加载并且进行修改
是不是听着很耳熟?没错和我们常用的Forge是一个原理
MCP和Forge相同,通过修改类,插入自身的代码,在事件发生之前就可以捕获,并且取消
这就是为什么MCP可以对TAB穿透进行防御,其他的同类插件不可以

其他的插件被攻击时后台会显示类似
[22:08:21 INFO]: com.mojang.authlib.GameProfile@db5e086[id=ecce068f-4a5e-332f-a70f-6a9ad59cdc52,name=God218965812,properties={},legacy=false] (/127.0.0.1:24655) lost connection:提示消息
这就意味着其实服务器握手环节已经完成
而MCP修改了服务器核心的代码,使服务器在真正接受链接前就进行判断
如果判断为攻击,就将这个链接进行闲置
[关闭了反而攻击器会尝试再次连接,闲置的话攻击器会陷入无限等待]
也就是说,服务器压根没接受链接请求!

 

使用方法 – 概述

MCProtect Rebuild 一共分为三部分
服务端内核补丁-MCPRBAPI.jar
– 用来提供攻击过滤,后门过滤功能

服务端插件-MCPRBPlugin.jar
– 用来提供设置及搭配Mod提供封禁机器码的功能

客户端Mod-MCPRBClientMod.jar

– 用来搭配插件封禁机器码的功能

其中内核补丁可以独立于其他部分使用

插件既可以给内核补丁提供自定义设置功能
也可以搭配Mod封禁机器码
也可以同时提供这两个功能
但是只安装插件什么用都没有

客户端Mod仅用于搭配插件提供封禁机器码的功能

 

使用方法 – 内核补丁部分

把下载下来的MCPRBAPI.jar和mc核心放到一起,之后在命令行添加

-javaagent:MCPRBAPI.jar

完成后看起来应该是这样的:

java -javaagent:MCPRBAPI.jar -jar sever-core.jar


现在就可以开服了,只不过一切都是默认滴

如果需要进行配置,请下载插件并将它放到plugins目录


使用方法 – 插件部分

命令:

  1. /MCPRB Ban [玩家名] 封禁一名玩家

复制代码


权限

  1. MCPRB 所有命令只能由OP或者后台执行

复制代码


配置文件

 

# MCProtect Rebuild 配置文件

#=====================================
#以下为MCPRB API功能选项
ConnectInterval: 30000
#每两次连接到服务器之间的间隔[毫秒],如果设置了下面的选项可以设置的比较大,默认30秒
ConnectAllowedRetriesTime: 10
#前N次的链接将不进行计时,默认10次,设为小于等于0的值禁用改选项
#注意,正常情况下MC将通过几次链接获得服务器信息,具体数字取决于不同客户端
TabInterval: 1000
#每两次Tab补全之间的间隔[毫秒],默认为1秒
EnableOPFliter: true
#是否启用插件设置OP过滤
#此功能可以预防部分后门插件进行非法OP设置
#但是与部分插件的【以OP身份执行命令】功能冲突
CommandRegexRules:
- ^/?op\b.*
- ^/?deop\b.*
- ^/?give\b.*
- ^/?reload$
- ^/?restart$
- ^/?ban$
- ^/?banip$
- ^/?stop$
#插件调用命令过滤规则
#此功能预防恶意插件以玩家/控制台身份调用命令
#使用Java正则过滤,命令会转换为小写


#=====================================
Timeout: 10000
#在玩家登陆多久后没有收到机器码则踢出玩家,默认10秒,请根据服务器状况与客户端状况进行调整
#设为0禁用机器码验证
MessaagePass: "[MCProtect Rebuild]\u6210\u529f\u901a\u8fc7\u673a\u5668\u7801\u6821\
  \u9a8c"
#玩家通过验证时发送的消息
MessaageBAN: "[MCProtect Rebuild]\u5bf9\u4e0d\u8d77\uff0c\u8be5\u673a\u5668\u7801\u5df2\
  \u88ab\u5c01\u7981"
#玩家被Ban时发出的消息
MessaageTimeout: "[MCProtect Rebuild]\u5bf9\u4e0d\u8d77\uff0c\u54cd\u5e94\u8d85\u65f6"
#玩家验证超时时发送的消息

#=====================================
#以下列表为MCPRB自行维护,请勿修改
BannedPlayerPCIDs: []

 

使用方法 – 客户端MOD

注意,这个MOD只能安装部署在Win的客户端,服务器请不要安装

第一步
下载MCPRBLibs.zip,解压出其中的两个dll文件,放到Minecraft的运行路径中
运行路径是啥?看你的启动器里就有,默认是.minecraft
版本独立的情况下是.minecraft/versions/<版本名>/

第二步
将下载的Mod放到Mods文件夹里,收工

额外的大坑
这个Mod是在1.8.8的环境中编写的
本来打算在不同环境里编译一遍
但是1.7.10和1.8的MDK死活没办法构建环境
理论上支持1.8+之后的版本
然而如果遇到部分时候抽风,附件里有源码下载,可以自行编译
另外希望有朋友可以帮忙编译之后发到帖子里

 

截图展示 & 测试视频

防TAB穿透功能
图片[2]-MCProtect Rebuild —— 反各种压测,封禁机器码,反后门[全版本]-服务端插件论坛-资源发布-像素交际


封禁机器码
图片[3]-MCProtect Rebuild —— 反各种压测,封禁机器码,反后门[全版本]-服务端插件论坛-资源发布-像素交际

已有功能

防压测,防各种压测,包括Ping压测,Motd压测,假人压测,TAB穿透压测
拦截来自插件的添加OP的请求
拦截来自插件的危险指令[restart,stop之类]
封禁机器码
受到压测时不会疯狂刷后台了


已知问题

客户端在不重新打开的情况下二次进入MCP保护的服务器有可能导致崩溃
其实是触发了保护= =
解决方法:关了客户端再打开一次……
正在赶制补丁ing…

请登录后发表评论

    没有回复内容