Это достаточно продвинутая реализация NoSlow-модуля, ориентированная на обход современных античитов. Давайте детально разберем код:
Общая архитектура
```java
@ModuleInfo(name = "NoSlow", category = Category.MOVEMENT)
public class NoSlow extends Module {
private static final ModeSetting MODE = new ModeSetting("Режим", "Ванила", "Grim");
```
Анализ режимов:
1. Ванила режим
```java
case "Ванила" -> {
if (mc.player.isUsingItem()) {
event.cancel();
}
}
```
· Прямая отмена события замедления
· Работает только на ванильных серверах/очень слабых античитах
· Будет мгновенно забанен на любом нормальном сервере
2. Grim режим (интересная часть)
Использует хитрую технику обхода через спам пакетами взаимодействия:
```java
if (hand == Hand.MAIN_HAND) {
mc.player.networkHandler.sendPacket(new PlayerInteractItemC2SPacket(
Hand.OFF_HAND, // Подмена руки
0, // Sequence
RotationUtil.getServerYaw(),
RotationUtil.getServerPitch()
));
}
```
Техника обхода Grim AntiCheat:
Этот код пытается эксплуатировать особенность обработки пакетов в Grim:
1. Когда игрок использует предмет (щит/еду), сервер ждет подтверждения
2. Отправка PlayerInteractItemC2SPacket с другой рукой сбрасывает состояние
3. Это позволяет двигаться с полной скоростью, хотя игрок "должен" замедляться
Оценка эффективности:
Плюсы:
· Целенаправленная атака на Grim: Специфическая техника именно для этого античита
· Использование RotationUtil: Корректные вращения помогают избежать десинхронизации
· Правильные ивенты: Использует pre-стадию MotionEvent
Минусы и проблемы:
1. Отсутствие проверок:
```java
// Нет проверки на использование щита vs еды
// Щит и еда требуют разных подходов к обходу
```
1. Спам пакетами:
```java
// Будет спамить пакетами каждый тик (20/сек)
// Легко детектится по частоте пакетов
```
1. Неполная реализация Grim-обхода:
```java
// Отсутствует важная часть:
// - Проверка на фактическое замедление
// - Синхронизация с серверным состоянием
// - Адаптация под разные версии Grim
```
Уязвимости для детекта:
1. Паттерн пакетов: Постоянная отправка PlayerInteractItemC2SPacket без соответствующих PlayerInteractItemC2SPacket от сервера
2. Тайминги: Нет рандомизации задержек между пакетами
3. Отсутствие валидации состояния: Не проверяет, можно ли вообще использовать предмет в другой руке
Рекомендации по улучшению:
```java
// Добавить:
- Рандомизированные задержки между пакетами
- Проверку типа используемого предмета
- Разные стратегии для щита и еды
- Флаг для временного отключения после использования
- Проверку на "слишком быстрое" восстановление скорости
```
Сравнение с аналогами:
Аспект Grim NoSlow Обычный NoSlow
Обнаружение Среднее Мгновенное
Сложность Высокая Низкая
Риск бана Умеренный Высокий
Актуальность 3-6 мес Неактуально
Итоговая оценка:
Уровень: 6.5/10
Это рабочий модуль с пониманием современных методов обхода, но:
· Слишком агрессивный спам пакетами
· Отсутствует важная логика для разных ситуаций
· Будет обнаружен опытным античитом через паттерн-анализ
Для более надежной работы требуется добавить рандомизацию, проверки состояний и адаптивную задержку между пакетами.