Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

console-cheat-engine

Консольный cheat engine с основным функционалом. Был написан для практики в языке C/C++

Запускать обязательно от имени администратора!!!!

⚠️ Проект учебный. Используй его только на своих программах и процессах, которые тебе разрешено изменять. Вмешательство в чужое ПО, онлайн-игры и сервисы может нарушать их правила и закон. Автор не несёт никакой ответственности за использование вами программы в плохих целях, используйте на свой страх и риск.


Следующий текст был написан используя ИИ, чтобы ускорить процесс написания документации к проекту

Консольный сканер и редактор памяти процессов для Windows — упрощённый аналог Cheat Engine. Написан на C/C++ для практики в работе с WinAPI, памятью процессов и многопоточностью.

Программа подключается к выбранному процессу, ищет в его памяти значения нужного типа, позволяет отфильтровать результаты несколькими повторными сканированиями, изменить найденное значение, «заморозить» его (постоянно перезаписывать) и сохранить найденные адреса в файл.

Возможности

  • First Scan — первичный поиск значения в памяти процесса с выбором типа данных: short (2 байта), int (4 байта), float (4 байта), double (8 байт). Сканируются только подходящие регионы памяти (выделенные, доступные на чтение/запись).
  • Next Scan — повторная фильтрация уже найденных адресов по условиям: увеличилось (Increased), уменьшилось (Decreased), точное значение (Exact Value), изменилось (Changed), не изменилось (Unchanged).
  • Change value — запись нового значения по выбранному адресу.
  • Freeze value — «заморозка» значения: в отдельном потоке оно постоянно перезаписывается, чтобы не менялось. Можно заморозить несколько адресов одновременно.
  • Unfreeze value — снятие заморозки с выбранного адреса.
  • Show found addresses — вывод списка найденных адресов с текущими значениями.
  • Save / Load addresses — сохранение найденных адресов в файл adres.txt и загрузка их обратно.

Для float и double сравнение идёт с погрешностью (эпсилон 0.001), чтобы учитывать неточность представления дробных чисел.

Структура проекта

cce/
├─ main.cpp                    # точка входа: выбор процесса и главное меню
├─ Functions/
│  ├─ Structs/
│  │  └─ structs.h             # структуры данных (ScanEntry, ScanContext, FreezeParams)
│  ├─ ReadWriteMemory/
│  │  ├─ readwritememory.h
│  │  └─ readwritememory.cpp   # чтение/запись значений, поток заморозки
│  ├─ ActionsWithMemory/
│  │  ├─ actionswithmemory.h
│  │  └─ actionswithmemory.cpp # логика пунктов меню (сканы, заморозка, сохранение)
│  └─ ShowData/
│     ├─ showdata.h
│     └─ showdata.cpp          # вывод списка адресов
├─ cce.sln                     # решение Visual Studio
└─ cce.vcxproj                 # проект Visual Studio

Требования

  • Windows
  • Visual Studio 2019/2022/2026 с рабочей нагрузкой «Разработка классических приложений на C++»
  • Стандарт C++17

Сборка

Вариант 1. Visual Studio

  1. Открой cce.sln двойным кликом.
  2. Вверху выбери конфигурацию Debug | x64 (или Release | x64).
  3. Собери и запусти — F5. Готовый cce.exe появится в папке x64/Debug/.

Вариант 2. Скачать .exe файл в Release

  1. Заходим сюда - https://github.com/Darkiich/console-cheat-engine/releases
  2. Нажимаем на console-ce.exe
  3. После скачивания открываем от имени администратора!!!!

Как пользоваться

  1. Запусти cce.exe. Программа выведет список процессов в формате PID | Name.

  2. Введи PID процесса, с которым хочешь работать (число из левого столбца).

  3. После открытия процесса показывается диапазон сканируемой памяти и появляется меню:

    1. First Scan
    2. Next Scan
    3. Change value
    4. Freeze value
    5. Unfreeze value
    6. Show found addresses
    7. Save addresses to file
    8. Load addresses from file
    0. Exit
    
  4. Введи номер действия и следуй подсказкам.

Типичный сценарий

Допустим, в программе есть число (например, количество очков), и ты хочешь его изменить:

  1. First Scan — выбери тип данных (чаще всего int) и введи текущее значение. Программа найдёт все адреса с таким значением (обычно их много).
  2. Измени значение внутри целевой программы (например, очки выросли), вернись и сделай Next Scan → Increased (или Exact Value с новым числом). Список адресов сократится.
  3. Повторяй шаг 2, пока не останется один-два адреса.
  4. Change value — выбери нужный адрес по номеру и впиши своё значение.
  5. При желании Freeze value — чтобы значение не менялось обратно.
  6. Save addresses to file — сохранить найденные адреса, чтобы не искать заново в следующий раз (загрузка — пункт 8).

Выход — пункт 0 (при этом дескриптор процесса корректно закрывается).

Формат файла сохранения

Адреса сохраняются в adres.txt в рабочей папке. Первая строка — количество записей, далее по строке на адрес:

<адрес в hex> <тип> <размер в байтах> <значение>

Лицензия

См. файл LICENSE.

About

Консольный cheat engine с основным функционалом. Был написан для практики в языкеC/C++

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages