萝娜娜
本帖最后由 lona 于 2019-8-10 15:38 编辑


Ymer」v1.1.14_final
保护您的服务器免受作弊玩家的侵扰
这款反作弊的安装与使用方法并不简单,所以请在使用这款反作弊之前确认你有10-15分钟的时间进行仔细的阅读。

[什么是Ymer]
    Ymer 是一款配合客户端MOD使用的插件,其最大特点是代码90%以上均由C++编写且可跨平台(目前支持windows操作系统以及64位linux系统)。
[使用量统计]
    https://bstats.org/plugin/bukkit/Ymer

[能防御的作弊]
    1.所有基于MOD的作弊
    2.大部分已知的作弊端
    3.javaagent作弊
[不能防御的作弊]
    1.透明材质

[工作原理]
    Ymer依赖libymer检测客户端运行时载入的文件,如果该文件不在SHA512.txt列表中则会踢出玩家。
    注:SHA512.txt文件中是所有允许使用的MOD与一些库文件的集合。

[优缺点]
    1.破解难度更高(优点)
        纯java编写的反作弊容易被反编译,反混淆,而C++就从根本解决了这个问题(虽然也有反编译)。
    2.速度快(优点)
        客户端校验时不会占用游戏线程,故而不会造成卡顿
    3.资源占用少(优点)
        本插件占用的内存和CPU可以忽略不计
        服务端内存占用为每玩家8kb(就算1000个玩家在线也才8M内存)
        客户端内存占用不大于40M
    5.兼容Valkyrie-1.2和1.3(虽然还没发布)

[如何使用]
一.服务端插件安装与配置
    1.配置SHA512文件
        (1)将ymer-x.x.x.jar移动到客户端的mod目录下
        (2)启动客户端
        (3)在.minecraft目录下找到SHA512.txt
        (4)将SHA512.txt复制到服务端目录plugins/ymer下
    3.插件安装
        (1)如果你是1.7.10版本,那么请选择ymer-x.x.x-1.7.10.jar,否则如果版本高于1.7.10则请选择ymer-x.x.x-1.8+.jar
        (2)将选择的插件放入plugins目录
    4.注意事项
        (1)已删除
        (2)本插件仅检查客户端多出来的MOD,不会检查客户端MOD是否变少
        (3)本插件没有任何命令!
        
(4)如果客户端删掉了反作弊MOD,那么将会以验证超时的理由踢出服务器
        (5)如果你已正确安装,那么在启动服务端后,在服务端的plugins/ymer目录下将会存在config.yml libymer32.dll libymer64.dll rsa_private.key rsa_public.key和SHA512.txt文件(linux则是会生成几个.so文件而不是dll)
        (6)如果你需要增加某个MOD而又不想麻烦的去重新生成SHA512.txt文件,那么你可以使用第三方工具计算mod的SHA512值并且将其写入SHA512.txt文件
二.客户端MOD安装
    1.安装mod
        (1)将ymer-x.x.x.jar放入mods文件夹(Ymer在linux不支持以客户端模式运行)
    2.注意事项
        (1)如果你已正确安装并且至少启动过一次客户端,那么在客户端的mods文件夹中将存在libymer32.dll libymer64.dll和ymer-x.x.x-y.y.y.jar两个文件
        (2)请确保玩家使用的java环境与创建SHA512.txt时相同,如果需要同时支持32位和64位java则需要创建两份SHA512.txt并且融合
三.面板服相关

四.其他
    1.关于文件
        (0)版本,ymer-1.x.x-1.7.10表示该mod和插件运行在1.7.10版本,而ymer-1.x.x-1.8X则表示该mod和插件运行在1.8-1.11.2版本
        (1)插件与MOD,本插件和mod有libymer32.dll libymer64.dll libymer.so和ymer-....jar 4个文件,ymer-....jar既是mod又是bukkit插件,而libymer32.dll libymer64.dll libymer.so则是ymer-....jar运行时所必须的依赖(简称ymer核心)
    2.关于检测到作弊时的应对
        (1)如果服务端插件检测到玩家作弊,服务端会记录并且踢出玩家。
        (2)如果客户端检测到玩家作弊,客户端会上传作弊信息,服务端会记录该信息并且踢出玩家。
        (3)[数据删除]

[版本支持]
本插件与MOD支持1.7.10及其以上的所有版本

[配置文件]


[更新记录]


[下载地址]


[已知问题与注意事项]


[关于众筹;捐赠;购买]

[关于开源]
1.8
1.7.10
C++部分代码不开放源代码

[第三方源代码]
    1.mbed TLS - Apache license 2.0
    2.libiconv - LGPL

[鸣谢]
    神奇海螺
    石榴

[计划]


[公告]
    1.[数据删除]
    2.[数据删除]
    3.[数据删除]
    4.为了防止破解,请至少每隔3个月更新一次至最新版
    5.1.1.4版本已破解,请使用1.1.4以上版本
    6.wiki:http://mineplugin.org/Ymer
    7.稳定版本:
        1.1.4
        1.1.11
    8.fix2因为存在一个错误,故而暂停提供fix2下载
    9.1.1.11-fix版本已被破解
    10.Ymer已于2018.06.16停止开发与维护
    11.2018.06.17发布Ymer-1.1.14 final
    12.
Ymer授权服务器关闭,所有功能失效,请更换其他反作弊
    17.
反作弊开发日记
    18.Ymer-NG已在制作中

本插件所用所有代码均为原创,不存在借用/抄袭/违反协议等行为

来自群组: PluginsCDTribe

和煦樱
牛逼啊 前排

lige233
加反作弊干嘛?

萝娜娜
lige233 发表于 2018-2-3 16:39
加反作弊干嘛?

emmmmm
用来防止玩家作弊吧

lige233
lona 发表于 2018-2-3 16:40
emmmmm
用来防止玩家作弊吧

好吧好吧!

墨世界
能不能弄个单板 禁止背包编辑器的

萝娜娜
你瞅啥233 发表于 2018-2-3 16:52
能不能弄个单板 禁止背包编辑器的

这个嘛,只能定制咯

八柔
我算算,已经是第几个MD5反作弊了......

Citysands
感谢楼主分享~
支持一下~
如今的反作弊插件是真的多..熊孩子们估计要跪..

萝娜娜
2048028141 发表于 2018-2-3 18:29
md5检验?估计很快被破解?

应该吧               

弱鸡绿毛怪
挠头
用jni说不准哪天jvm就崩了(划掉)

手动滑稽

萝娜娜
MagicLocyDragon 发表于 2018-2-3 19:12
挠头
用jni说不准哪天jvm就崩了(划掉)

测试的时候就崩了无数次了

RINNDA
很好的插件 我觉得很强

呆瓜Domado
MD5加密不安全呀,最好用个复杂点的加密算法

萝娜娜
2641324669 发表于 2018-2-3 20:54
MD5加密不安全呀,最好用个复杂点的加密算法

都用上啦,不是MD5不安全,是作弊方式太多,可以绕过

Kaery
我代表古天乐支持这个插件!

萝娜娜
sudiyun 发表于 2018-2-3 21:38
我代表古天乐支持这个插件!

我渣渣辉也要玩!   

kongrenxuan
如果玩家的电脑不是64位Windows系统就不可以玩吗

xmdhs
2641324669 发表于 2018-2-3 20:54
MD5加密不安全呀,最好用个复杂点的加密算法

他吧 MD5 SHAx 都用上了  这条破解的路就没辙了

萝娜娜
kongrenxuan 发表于 2018-2-4 07:57
如果玩家的电脑不是64位Windows系统就不可以玩吗

当前处于测试阶段所以只放出了windows 64位操作系统的库,等到正式版会提供windows 32位以及linux 64位支持

xmdhs
另外 似乎对1.8.9并不支持



萝娜娜
xmdhs 发表于 2018-2-4 12:09
另外 似乎对1.8.9并不支持

额,检查了一下,确实是这样的,谢谢反馈,我会立即修复这个问题

【捣蛋】
(1)将libymer.dll放在服务端核心的同级目录中

淘宝买的面板服怎么办,只能用他的核心,根本找不到在哪。。。

andylizi
本帖最后由 andylizi 于 2018-2-4 22:07 编辑

哇,终于有个能用的基于MOD验证的反作弊了。看完帖子后我有几个疑惑想请教一下楼主:

1. 为什么要使用这么多的散列算法来校验一个mod。

MD5早已被证明彻底不安全。SHA-1已被证明不安全并不再建议使用。但SHA-2家族(SHA256、SHA512等变种的统称)以目前人类的计算能力是不可能被破解的。用多种散列算法来进行校验并不能增加这套系统的安全性,反而牺牲了(一点点的)性能,并无味的增加了代码复杂度。
个人建议只使用 SHA256 或 SHA512 来进行校验。这两者从安全性来看并没有差别(以人类目前的水平)。从速度上来看,网上有许多说法与实测表明,在64位机器上 SHA512 通常会比 SHA256 快一些(最高有~50%的差别)。而在32位机器上 SHA256 要快一些。我在自己的64位电脑上测试也证明了这一点。


2. 关于公钥和私钥的生成,其实可以让插件在启动时,检查一下有没有这两个文件,没有就随机生成一个,省去用户百度的过程。而且网上提供的一方面是可能不安全(毕竟私钥是非常重要的东西),一方面是用户有很大误操作的可能(比如生成了其他算法的密钥,不知道区分公钥私钥,选了奇奇怪怪的密钥大小,etc),还有一方面是提供的格式可能跟你需要的格式不符(例如你用base64编码,网页生成器用十六进制etc),带来不必要的烦恼。如果是你自己的代码生成的就能完全避免这些问题了。


3. 对了想起来了,提前生成公钥和私钥的意义在哪里?看这个配置流程,并不需要把公钥预先提供给客户端的校验MOD,那就是说这个公钥是在客户端连接时发给客户端的咯。如果是这样的,就意味着每次发给客户端的公钥不必须得一模一样,为什么不在每次插件启动时生成一遍并保存在内存里呢。MC服务端的加密协议就是这样实现的(服务端启动时随机生成一对1024位的RSA密钥,服务器关闭就丢失了,下次启动再生成一遍)。这样还安全,避免用户误操作。

当然啦,除非你的实现是类似于SSH一样,客户端第一次连接时保存下服务端的IP和公钥,下次连接时核对一下确保每次连接的是同一个服务器。这样的话就另说。


4. 最重要的一点,这套系统不会只校验了mods文件夹里的mod吧?!让MC加载一个第三方的程序有无数种方法,mods 文件夹只是最常用的一种而已。还有比如说 litemod 文件夹(LiteLoader mod的存放位置)啊,启动参数里添加 tweaker 啊,甚至直接修改核心jar文件啊等等。如果只检测 mods 文件夹的话,这套反作弊不就没有意义了吗……


萝娜娜
本帖最后由 lona 于 2018-2-4 22:22 编辑
andylizi 发表于 2018-2-4 22:05
哇,终于有个能用的基于MOD验证的反作弊了。看完帖子后我有几个疑惑想请教一下楼主:

1. 为什么要使用这么 ...

哇,谢谢梨子的回答
1.关于为什么要使用这么多散列算法来校验一个MOD是因为现在阶段为了进行测试而尽可能多的使用不同的算法
2&3.关于私钥和公钥确实是我没有考虑周全,1.0.3版本一定改为动态生成的形式
4.1.0.1版本确实只检查了mods文件夹的文件,但是1.0.2版本将会检查所有已载入的jar(海螺告诉我的办法),而这个获取过程将完全在C++完成(在C++用java的反射是真的酸爽)最后还要再次谢谢梨子提出的宝贵意见,多亏了梨子提出的这些问题和意见才让我意识到Ymer反作弊的各种不足,一定改正。

萝娜娜
【捣蛋】 发表于 2018-2-4 21:54
淘宝买的面板服怎么办,只能用他的核心,根本找不到在哪。。。

部分面板服是无法使用的,不过这个问题将在下个版本得到解决,下个版本将改为把libymer.dll放入plugins文件夹

117779284
服务端安装MOD能验证客户端MOD么·

萝娜娜
117779284 发表于 2018-2-5 00:52
服务端安装MOD能验证客户端MOD么·

啥意思。。。
MOD不支持在服务端安装,必须在客户端安装反作弊MOD才能验证

117779284
lona 发表于 2018-2-5 01:02
啥意思。。。
MOD不支持在服务端安装,必须在客户端安装反作弊MOD才能验证 ...

我用的海棉端。1.1应该能使用。1.2里面我看了介绍没有海棉端的支持说明。。。

1.2的支不支持海绵端呢·

萝娜娜
117779284 发表于 2018-2-5 01:59
我用的海棉端。1.1应该能使用。1.2里面我看了介绍没有海棉端的支持说明。。。

1.2的支不支持海绵端呢· ...

海绵端啊,1.0.2可以以服务端MOD形式支持(大概),不能以sponge plugin形式支持(肯定不能),我待会儿就会发布,你可以试试2333

萝娜娜
117779284 发表于 2018-2-5 01:59
我用的海棉端。1.1应该能使用。1.2里面我看了介绍没有海棉端的支持说明。。。

1.2的支不支持海绵端呢· ...

还有,1.0.1也不支持sopnge

萝娜娜
117779284 发表于 2018-2-5 01:59
我用的海棉端。1.1应该能使用。1.2里面我看了介绍没有海棉端的支持说明。。。

1.2的支不支持海绵端呢· ...

额,我们就当无事发生。1.0.2不会支持以服务端MOD形式运行,节哀,不过可以使用bukkitAPI支持插件来启动哦

萝娜娜
xmdhs 发表于 2018-2-4 12:09
另外 似乎对1.8.9并不支持

更新的1.0.2版本可以支持1.7.10以上的所有版本了,现在可以尝试了哦

miyiming1
感谢分享

apple5740
必火系列··········

apple5740
apple5740 发表于 2018-2-5 23:56
必火系列··········

另外单独反背包编辑器的,定制多少呢。。这个MOD真的烦。。。

萝娜娜
apple5740 发表于 2018-2-5 23:58
另外单独反背包编辑器的,定制多少呢。。这个MOD真的烦。。。

不提供这项服务

buzaiaile
可不可以选加些mod的功能

萝娜娜
buzaiaile 发表于 2018-2-6 01:58
可不可以选加些mod的功能

Ymer只会因为客户端拥有不在SHA512列表中的MOD而踢出,少了几个MOD不会踢

buzaiaile
lona 发表于 2018-2-6 02:01
Ymer只会因为客户端拥有不在SHA512列表中的MOD而踢出,少了几个MOD不会踢

哦知道了懂了

buzaiaile
lona 发表于 2018-2-6 02:01
Ymer只会因为客户端拥有不在SHA512列表中的MOD而踢出,少了几个MOD不会踢

现在加在服务器应该不会出现多大的问题了吧?

萝娜娜
buzaiaile 发表于 2018-2-6 02:03
现在加在服务器应该不会出现多大的问题了吧?

已经修复了所有已知的BUG并且稳定运行于一些服务器上

buzaiaile
lona 发表于 2018-2-6 02:04
已经修复了所有已知的BUG并且稳定运行于一些服务器上

那好吧我加了啊

apple5740
lona 发表于 2018-2-6 01:34
不提供这项服务

大大大佬。。你的定制是因人而异嘛。。。我看到上个贴说的定制。。背包编辑器mod骚扰神奇宝贝N久了。不清楚为啥一个虚体,放进神奇宝贝里面就变成了实体。这么简单。。

猫猫惹
大佬插件好评必火系列,话说PCD大佬是真的多!

250yangying
233333333333

nja2106820
支持一下 目前正在到处寻找MOD

nja2106820
kick msg允不允许修改 狗玩家看不懂 楼主

萝娜娜
nja2106820 发表于 2018-2-6 23:11
kick msg允不允许修改 狗玩家看不懂 楼主

可以                           

十中八九.
支持大佬!毕竟现在Anticheat 3.x都被破解了

C++或许是条可寻之路

第一页 上一页 下一页 最后一页