🎮 Game Reverse Engineering API

REST API для работы с файлами игр и документацией

➕ Создать проект

Введение

Этот API предоставляет доступ к файлам игр, документации и инструментам для реверс-инжиниринга. Поддерживается работа с несколькими проектами одновременно.

⚠️ Авторизация: Все запросы требуют заголовок X-API-Key с вашим API ключом.

📁 Файловая система

Просмотр, чтение и поиск файлов игры

🔍 Поиск

Поиск по имени, содержимому и hex-паттернам

📖 Гайды

Документация и база знаний проекта

💾 Скачивание

Временные ссылки для загрузки файлов

Быстрый старт

1. Получить список проектов

curl -H "X-API-Key: your_api_key" https://your-domain.ru/api/projects

2. Получить список файлов

curl -H "X-API-Key: your_api_key" https://your-domain.ru/api/game-x/files/list?path=/&version=game_new

3. Прочитать файл (hex)

curl -H "X-API-Key: your_api_key" "https://your-domain.ru/api/game-x/files/read?path=/config.ini&encoding=hex&length=256"

Проекты

GET /api/projects

Получить список всех проектов

GET /api/{project}

Получить информацию о проекте

{project}
ID проекта (например: game-x)

Файлы

GET /api/{project}/files/tree

Дерево директорий

path
Путь к директории (по умолчанию: /)
version
Версия: game_new, game_old, resources_new, resources_old, engine_source
depth
Глубина дерева (по умолчанию: 2)
GET /api/{project}/files/list

Список файлов в директории

path
Путь к директории
version
Версия файлов
limit
Количество файлов (по умолчанию: 50)
offset
Смещение (по умолчанию: 0)
sort
Сортировка: name, size, date
GET /api/{project}/files/info

Информация о файле

path
Путь к файлу (обязательно)
version
Версия
GET /api/{project}/files/read

Чтение содержимого файла

path
Путь к файлу (обязательно)
version
Версия
offset
С какого байта начать (по умолчанию: 0)
length
Количество байт (по умолчанию: 1024, максимум: 10MB)
encoding
Формат: hex, base64, utf8, binary
GET /api/{project}/files/download

Получить временную ссылку для скачивания

path
Путь к файлу
version
Версия

Возвращает: URL для скачивания, действителен 1 час

GET /api/{project}/files/compare

Сравнить файл между версиями

path
Путь к файлу
version1
Первая версия (по умолчанию: game_old)
version2
Вторая версия (по умолчанию: game_new)

Поиск

GET /api/{project}/search/files

Поиск файлов по имени

query
Поисковый запрос (обязательно)
path
Где искать (по умолчанию: /)
version
Версия
extension
Фильтр по расширению
min_size, max_size
Фильтр по размеру
GET /api/{project}/search/content

Текстовый поиск в файлах

query
Поисковый запрос
path
Где искать
version
Версия
case_sensitive
Учитывать регистр (true/false)
extensions
Список расширений через запятую (например: txt,ini,cfg)
GET /api/{project}/search/hex

Поиск по hex-паттерну

pattern
Hex паттерн (например: 4D5A для PE файлов)
path
Где искать
version
Версия
GET /api/{project}/index

Получить полный индекс проекта (обновляется автоматически)

Гайды и документация

GET /api/{project}/guides

Список всех гайдов

category
Фильтр по категории
GET /api/{project}/guides/{id}

Получить содержимое гайда

POST /api/{project}/guides/draft

Создать черновик гайда (для AI)

Body (JSON):

{
  "filename": "animation-system",
  "title": "Animation System Analysis",
  "content": "# Animation System\n\n...",
  "category": "analysis"
}
GET /api/{project}/drafts

Список черновиков

Исходный код движка

GET /api/{project}/source/search

Поиск в исходниках

query
Поисковый запрос
language
Язык: cpp, c, h, py
GET /api/{project}/source/file

Получить исходный файл

path
Путь к файлу

Функции движка

GET /api/{project}/functions

Список всех задокументированных функций

GET /api/{project}/functions/{name}

Описание функции

Формат ответов

Все ответы в формате JSON:

Успешный ответ:

{
  "success": true,
  "data": { ... },
  ...
}

Ошибка:

{
  "success": false,
  "error": "Error message",
  "code": 400
}