April 25

Кот

CTF: АльфаЦТФ2026

Автор: @freenameruuuu

Категория: Web

Теги: Easy, Baby, Clientside

1. Анализ и поиск чита

Открываем игру cat-k4sl0sey.alfactf.ru браузере и смотрим DevTools. Находим в бандле React-компонент с панелью «Чит-коды», где canvas с кодами размыт через CSS-фильтр filter: blur(...).

Код рендера фрагмента (упрощённо):

'canvas', {
  className: 'cheat-copy-canvas',
  style: { filter: 'blur(' + _0x44f724.blur + 'px)' },
}

Понимаем, что если убрать blur на этом элементе, то содержимое с читами станет читаемым без решения внутренней логики.

2. Снимаем blur и разлочиваем панель

Через консоль добавляем свои стили и убираем размытие:

(() => {
  const style = document.createElement('style');
  style.textContent = `
    .cheat-copy-canvas {
      filter: none !important;
    }
    .cheat-panel.unlocked .cheat-cover {
      background: rgba(121,167,124,0.2) !important;
      color: rgba(24,32,29,0.72) !important;
    }
  `;
  document.head.appendChild(style);

  document
    .querySelectorAll('.cheat-panel')
    .forEach(p => p.classList.add('unlocked'));
})();

После этого размытие пропадает, панель выглядит как разблокированная, и становится видно два стандартных чита:

  • FASTER: catcatcat
  • GODMODE: powerup

3. Включаем «автопрыгуна»

Чтобы не играть руками, делаем простого автопрыгуна, который периодически отправляет в игру нажатие клавиши прыжка:

(() => {
  function tapJump() {
    const ev = new KeyboardEvent('keydown', { key: ' ', bubbles: true });
    window.dispatchEvent(ev);
  }
  // подбираем период так, чтобы кот перепрыгивал препятствия
  setInterval(tapJump, 400);
})();

Теперь персонаж сам прыгает с заданным периодом, остаётся только стартануть игру и дать ей добежать до конца дорожки.

4. Вводим чит-коды «как в GTA»

Используем найденные коды, имитируя классический стиль GTA — вводим слова прямо во время игры без отдельного меню. Чтобы автоматизировать, отправляем в консоль:

(() => {
  function typeCheat(str) {
    for (const ch of str) {
      const ev = new KeyboardEvent('keydown', { key: ch, bubbles: true });
      window.dispatchEvent(ev);
    }
  }

  // сначала ускорение
  typeCheat('catcatcat');
  // затем годмод
  typeCheat('powerup');
})();

Игра воспринимает последовательность нажатий так же, как ручной набор с клавиатуры, и активирует FASTER и GODMODE. Надписи в панели меняются на «активирован», а кот с автопрыгуном уверенно добегает до конца.

5. Получаем флаг

Поздравляю, вы хакер