GrimAnticheat/Grim

MoreKnockback

Dbbtop opened this issue · 23 comments

Describe the bypass and how to replicate it

@eventhandler
public void onSendPacket(PacketEvent.Send event) {
if ((!MovementUtility.isMoving() || inMove.getValue())
&& event.getPacket() instanceof PlayerInteractEntityC2SPacket
&& getInteractType(event.getPacket()) == Criticals.InteractType.ATTACK
&& !(getEntity(event.getPacket()) instanceof EndCrystalEntity)
&& getEntity(event.getPacket()) instanceof LivingEntity lent
&& lent.hurtTime <= hurtTime.getValue()
&& MathUtility.random(0, 100) >= (100 - chance.getValue())
&& !canCrit()) {

        if (mc.player.isSprinting()) sendPacket(new ClientCommandC2SPacket(mc.player, ClientCommandC2SPacket.Mode.STOP_SPRINTING));
        sendPacket(new ClientCommandC2SPacket(mc.player, ClientCommandC2SPacket.Mode.START_SPRINTING));
        sendPacket(new ClientCommandC2SPacket(mc.player, ClientCommandC2SPacket.Mode.STOP_SPRINTING));
        sendPacket(new ClientCommandC2SPacket(mc.player, ClientCommandC2SPacket.Mode.START_SPRINTING));
        debug("wtap");
        mc.player.setSprinting(true);
        mc.player.lastSprinting = true;

Grim version

latest

Server version

1.19.4

Plugins

grim, packetevents, LP

patched by #1678

patched by #1678

i just tested it, and nah

patched by #1678

i just tested it, and nah

did you put "PacketOrder" in your punishments.yml?

patched by #1678

i just tested it, and nah

did you put "PacketOrder" in your punishments.yml?

Yes

patched by #1678

i just tested it, and nah

did you put "PacketOrder" in your punishments.yml?

Yes

did you enable experimental checks?

Yes

did you enable verbose?

Yes

The code you provided above is only supposed to actually run when you're sprinting though no?

this function sends a sprint packet to make a pushback attack even without movement

this function sends a sprint packet to make a pushback attack even without movement

it doesn't look like you have that enabled