Сначала ресерч, потом код
Задачи про читы, моды, дамперы, оффсеты и реверс почти всегда уже кем-то решены. Писать с нуля то, что лежит готовым в теме на форуме или в чужом репозитории, — это не «своё решение», а потерянный час и код, который сломается на первой же версии игры.
Поэтому порядок жёсткий: выясни, решено ли это до тебя, и только потом решай сам.
Когда применять
Применяй, если пользователь просит сделать что-то из этого списка: дампер (классов, оффсетов, схемы, SDK), инжектор, DLL-чит, миксин или мод, ESP/аим/визуал, деобфускатор, распаковщик, скрипт под чит (LUA/JS/AHK), обвязку под конкретный движок (Unity, Unreal, Source 2, Minecraft), разбор чужого софта.
Не применяй, если задача обычная (бэкенд, вёрстка, скрипт для работы) — даже если
пользователь любит игры. yg_plan возвращает поле inScope: если там false, работай
обычным порядком.
Если пользователь просит просто найти или скачать тему с форума — это другой скилл, yougame-research: там механика форума, хайды и файлообменники.
Лестница
Спускайся по ступеням; на любой можно остановиться, если ответ найден.
| Ступень | Инструмент | Останавливаешься, если |
|---|---|---|
| 0. Это домен yougame? | yg_plan (inScope) |
нет — работаешь обычным порядком |
| 1. Уже решали? | yg_kb_search |
в локальной базе есть готовый ответ |
| 2. Инструмент уже есть? | yg_tools |
задача закрывается существующим инструментом |
| 3a. Есть на yougame? | yg_search → yg_thread |
нашлась рабочая механика или исходник |
| 3b. Есть на unknowncheats? | uc_search → uc_thread |
то же, англоязычный форум |
| 4. Ресерч закрыт? | yg_ready |
ready: true — можно писать |
| 5. Реализация | — | — |
| 6. Вернуть знание | yg_kb_add_tool, yg_report |
— |
Развёрнуто: references/ladder.md.
Ступень 2 важнее остальных
Самая частая ошибка — писать свой дампер там, где есть отлаженный чужой.
yg_tools отдаёт каталог по домену: Dumper-7 для Unreal, source2gen для Source 2,
Il2CppDumper для IL2CPP, java-агент с ClassFileTransformer для JVM, Scylla для PE из памяти.
Если готовое подходит — не пиши своё. Объясни пользователю, чем пользоваться и как,
и напиши только недостающую обвязку. Если не подходит — скажи вслух, почему именно
(версия, защита, формат вывода), и зафиксируй это через yg_note kind="gap".
Каталог целиком: references/toolbase.md.
Ступень 3: как читать форумы
yougame.biz (русскоязычный, XenForo)
- Сначала теория (
type: "thread", разделы гайдов), потом исходники (разделы «Исходники …»). - Тему читай целиком, вместе с комментариями: там фиксы, «не работает на версии X» и предупреждения о нерабочих пастах. Первый пост часто врёт.
unknowncheats.me (англоязычный, vBulletin)
- Навигация:
uc_categories→uc_forum→uc_thread. Поиск:uc_search(нужен вход). - Загрузки:
uc_downloads_cats→uc_downloads_list→uc_downloads_file. - UC — крупнейший англоязычный форум: здесь больше tutorials, SDK, и open-source баз.
- AUTH_REQUIRED →
uc_login(откроется окно браузера).
Общие правила
- Сверяй минимум два источника — с любого из форумов.
- Каждую находку клади в
yg_noteсо ссылкой — без источника она не засчитается гейтом.
Хайды, вход и скачивание — в скилле yougame-research.
Гейт не должен превращаться в тупик
yg_ready возвращает не «нельзя», а список недостающего и как его добрать.
Если на форуме по теме честно пусто, закрытые разделы или пользователь не хочет входить —
запиши yg_note kind="gap" с объяснением, и гейт откроется. Крайний случай —
yg_ready с force и обязательной причиной; причина попадает в отчёт, и её надо
озвучить пользователю: «источников не нашёл, пишу с нуля, вот на чём основаны допущения».
Критерии готовности и формулировки: references/checklist.md. Разбор задачи целиком: references/example.md.
Как отвечать пользователю
- Коротко: что нашёл и на чём основан вывод — 2–5 ссылок на конкретные темы (
yg_report). - Если берёшь готовый инструмент — скажи это прямо, до кода.
- Потом решение.
- В конце — чего в источниках не хватило и что додумал сам.
Не выдумывай id тем, ссылки и цитаты: любой факт приходит из вызова инструмента. Форум русскоязычный; отвечай на языке пользователя.