May 29 2026:Cheat Engine 7.7 Released for Windows, Mac and Linux for Patreons
It took a bit too long for a new public release. Sorry about that. But there's finally a new version of cheat engine out
My patreon members can get it here
(The public windows release will come in a few days)
Please reports bugs and give suggestions to improve Cheat Engine so next version can be even greater!
Changes:
Memrec class now has an OnActivationFailure callback
globalalloc symbols do not save in tables anymore
added static field address lookup for .net core and microsoft clr
script tag can now be hidden
Lua: Added methods for OrderedList objects. Useful for accessing the History object of disassemblerview and hexview
Lua: LuaEngine windows now have their own luastate so breakpointed states won't get messed up by potential timers or other luaengine dialogs
fpu debug dialog now shows when values change while stepping
speedhack: mono/il2cpp with unity now should freeze the game when the game sets the speed to 0
dotnetinfo: added an enumstatic dialog
find what addresses this code accesses: changed the color of blue in the darkmode dialog
New table specific options
added completion to lua code in auto assembler
You can now dissect structures directly from dotnetinfo
added modulePreference for symbol loading. When multiple modules have the same symbol, this list determines which modules has priority. (Already populated for windows and linux)
break and trace: new option to break on trace stop
break and trace: trace until initial function exit
threadname support
waitForallsymbols now shows a dialog when it takes too long
custom types of the integer variant are now 8 byte in 64-bit CE
added several new custom type examples/templates
added a .net 8 example plugin
more info now has tabs
AutoAssembler: added {$ifdef} /{$endif} and {$ifndef}/{$endif} blocks
mono method lookup now supports generics and parameters
AutoAssembler command: Hook(address, addresstogoto, originalcode) where originalcode will be allocated and filled for you
AutoAssembler command: unhook(address)
AutoAssembler command: aobscanfunction(name, functionstart, aob)
Mono: Better class/method lookup (generic support and parameters for methods)
lua:registerSymbolLookupCallback functions now also have access to the original string as well (only use it to determine if you should return nil or not)
dotnetdatacollector now takes less time to determine if something is an object in the heap or not
memoryviewer has a new 'marker' type of highlights also controllable from lua.
memoryviewer has a new function to highlight all lines that are used as a jump destination so it's easier to determine where to hook
.net plugins: The .net 9 runtime requirements also link with aspnetcore
added OnMouseWheelEvent support
added AI commands
ported CE to linux
.net info static field now has a context menu to copy the data
Added binary notation in aobscan |010**010|
lua memscan has a new propery called Results which will get your all the results without the need of a foundlist helper
custom type now has an 'internalOnly' property so you can use the type without notifying the user it exists
You can now view tablefile contents as text
added a Markdown viewer control
added stacktrace lua command
added a new extensions folder to CE which will load files based on a loadorder.txt
moved the AI stuff to the Extensions folder
added some basic unreal engine structure dissect support
added binary type to structure dissect
structure dissect can now load pdb structures better
added a preview fields to pointers and nested types, and an option to prioritize which fields to show first
added json lua library
adjusted getThreadList to return a threadlist in lua if no stringlist was provided
added executeCodeExThread and executeMethodThread where you can specify the thread to let the code run
form property Ghost, which allows you to click through it to the window behind it. Handy for overlays
ceshare now supports multiple server lists
ceserver can now deal with containered paths better
Fixes:
fixed injecting dll's while pdbs are being loaded
fixed a memory leak with the memory scanner
luacode not working when there's multiline comments at the top of the script
pdb moduleload dialog showing the wrong info
memoryrecord options not loading back
speedhack causing lag on some games
speedhack symbols saving inside tables while they should not
speedhack hotkey not saving if you don't select another entry first
assembling j* +# inside a region above 7fffffff would make it generate a wrong codeblock
disassembling vmovdqu shows wrong parameters
settings dialog: the option to handle unexpected exceptions isn't displayed as if it's set
parameter passing when launch as admin is enabled
access violation issue with break and trace dialog when loading a trace
freeze/crash on autoattach related to the pick process flasher
lua: Fixed single run timer running more than 1 time when the timer handler shows a dialog
monodatacollector: fixed an issue with multiple threads at the same time causing a disconnect
fix break on unexpected breakpoints
fixed enum values in il2cpp
ceserver: fixed modulesize lookup
fixed always hide children option
fixed loadPlugin lua command adding to the permanent list
convertToUtf8 is now stable when giving it incorrect parameters
reassemble can now handle call [] and jmp []
'step out' when the stack contains an unparsable string works now
disassembling rorx now doesn't show a double , anymore
dialogs won't show on the wrong monitor anymore
the previous build missed a few lua script extensions for structure to C lookup. They are present now
fixed code finder doubleclick actually hiding the memoryview window instead of showing it
fixed header passing when using postURL from the internet object
fixed lua engine search direction parameter
fixed aob template scripts for hook
fixed inputQuery
fixed CE loading .net9 runtimes close enough to 9.0.0
fixed relative notations using +/-xxx
structure compare reload file now cleans up old buffers
fixed groupscan double and float scans when scanning out of order
fixed assembling of instructions with width size specific values (broke due to the calculation ability)
fixed the full injection template
fixed autoassembler targetself messing up the processid breaking modulelists
don't render strings longer than 1000 characters in the addresslist
fixed memory access on windows on windows64 for arm64
fixed mono unboxing
dbvm fixed an issue with dr6 flags not being properly set in some rare cases
mono: fixed enum handling for invoke method and dialog
windows .net: fixed
debugging: fixed avx state being set to 0
gdb: several fixes
Cheat Engine MCP Bridge
Нужен для общения ИИ-агента через MCP.
У каждого современного пользвоателя CE должен быть свой MCP и свой ИИ-агент. Принцип. Есть MCP команды. Если есть доступ к ИИ-агентам, то они могут работать через MPC с CE, Команды mcp будут ниже. Как показывает практика, когда ИИ агент берется за дело, то лучше если он сможет видеть
а) логи
б) окна CE
в) окна игры
Должна быть цель. Конеткст. Ограничения. Как проверять выполнеине цели.
Возможно подключение локальных ИИ моделей.
Лучше всего, как мне кажется использовать Codex (не бесплатно) от OpenAI в качестве ИИ-агента или claude code. ИИ агент все настроит и будет управлять CE. И видеть это будет очень интересно. И это далеко не все что можно делать с codex и CE. Фактически можно очень и очень многое, ограничивается только возможностями железа и идеями.
Итак сами команды. А дальше решать придется что с этим всем делать чтобы была реальная польза. Но, либо просто искать как раньше адрес, указатель и делат аблицау - без ИИ.
Раздел
MCP tools
Назначение
🧠 Memory
read_memory, read_integer, read_string
Чтение данных из памяти: байты, числа, строки и другие типы.
🧠 Memory
read_pointer_chain
Проход по pointer-chain путям вида [[base+0x10]+0x20].
Memory / Scanning
scan_all, aob_scan
Поиск значений и AOB/byte-pattern сигнатур в памяти.
🧩 Analysis
disassemble, analyze_function
Дизассемблирование и анализ функций.
🧬 Analysis
dissect_structure
Автоопределение полей структуры и их типов.
🧬 Analysis
get_rtti_classname
Определение C++ object/class type через RTTI.
Analysis
find_references, find_call_references
Поиск cross-references и call-references.
Debugging
set_breakpoint, set_data_breakpoint
Установка hardware/data breakpoints.
Debugging / DBVM
start_dbvm_watch
Ring -1 invisible tracing через DBVM.
️ Process Lifecycle
open_process, get_process_list
Подключение к процессу и получение списка процессов.
Process Lifecycle
create_process
Запуск нового процесса под контролем Cheat Engine.
️ Process Lifecycle
pause_process, unpause_process
Приостановка и возобновление выполнения target-процесса.
Memory Allocation
allocate_memory, free_memory
Выделение и освобождение памяти в target-процессе.
️ Memory Allocation
set_memory_protection, full_access
Изменение protection flags / прав доступа к страницам памяти.
Code Injection
inject_dll
Загрузка DLL в target-процесс.
🧨 Code Injection
execute_code, execute_method
Выполнение shellcode или CE Lua methods удалённо.
️ Symbol Management
register_symbol, get_symbol_info
Регистрация и получение информации о named symbols.
🪟 Symbol Management
enable_windows_symbols
Включение PDB/Windows symbol resolution.
🧱 Assembly / Compilation
assemble_instruction
Ассемблирование одной x86/x64 инструкции в байты.
🧪 Assembly / Compilation
compile_c_code
Компиляция C-кода в injected shellcode.
🪝 Assembly / Compilation
generate_api_hook_script
Генерация CE auto-assembler шаблона для API hook.
🪟 Window / GUI Automation
find_window
Поиск окна по title или class.
Window / GUI Automation
send_window_message
Отправка WM_* сообщений в target window.
Input Automation
get_pixel
Получение цвета пикселя по screen coordinates.
️ Input Automation
is_key_pressed, do_key_press
Проверка и симуляция keyboard input.
Cheat Table
load_table, save_table
Загрузка и сохранение .CT cheat table файлов.
Cheat Table
get_address_list
Перечисление entries в активной cheat table.
🧬 Kernel Mode / DBK / DBVM
dbk_get_cr3
Чтение CR3 register для target-процесса.
️ Kernel Mode / DBK / DBVM
read_process_memory_cr3
Чтение physical memory через CR3 bypass.
More
AI_Context/MCP_Bridge_Command_Reference.md
Полный reference с расширенным списком MCP-команд.
Cursor AI — практический опыт и выводы
Cursor AI — это IDE на базе Visual Studio Code, ориентированная на программирование с использованием ИИ. Это не единственное решение на рынке — аналогов сегодня достаточно много.
На практике мне удалось поработать с разными агентами и инструментами:
Cursor AI
Cline
GitHub Copilot
различные LLM-провайдеры
локальный LLM-сервер (по возможностям — довольно слабый)
---
Общие впечатления
В целом Cursor AI — мощный инструмент. Всё, что было запланировано, удавалось реализовывать поэтапно и достаточно аккуратно.
Ключевой момент — почувствовать, как правильно “вести LLM” к нужному результату. Когда это получается, эффективность становится заметно выше.
При этом важно понимать:
code review после работы LLM обязателен
поверхностные правки почти всегда нужны
это касается и inline-команд ИИ
ИИ сильно ускоряет работу, но не отменяет ответственность разработчика.
---
Unity3D + C#
Я очень рекомендую Cursor AI для программирования под Unity3D и C#.
С высокой вероятностью вы не пожалеете. Более того, не использовать Cursor AI или аналогичные инструменты сегодня — потенциальная ошибка. Работая с ними, действительно можно многому научиться.
В отличие от классического общения с ИИ через чат:
агент часто сам быстро вносит правки в код
меньше ручного копирования и вставки
быстрее итерации
Программировать можно практически всё — вплоть до CE Lua-плагинов, которыми я планирую заняться в ближайшее время и выложить новую версию. Пока они находятся на стадии тестирования.
---
Стоимость и порог входа
Да, всё это не бесплатно, но в большинстве случаев оно того стоит.
Если вы ещё не пробовали:
просто попробуйте
даже безлимитного тарифа на первое время достаточно
этого хватит, чтобы понять, подходит ли инструмент под ваш workflow
---
Куда всё движется
В перспективе привычные чаты в стиле ChatGPT, в том виде, в каком мы их знаем сейчас, будут всё менее интересны.
Настоящий прирост эффективности дают:
ИИ-агенты
оркестрация
MCP-серверы
Простой пример:
тысяча правок через чат с постоянным копированием и вставкой
vs
тысяча правок, где агент сам вносит изменения в код
Разница в эффективности — колоссальная.
---
Итог
Каждому разработчику в итоге придётся:
выстраивать собственный workflow
адаптироваться к ценам и инструментам
выбирать оптимальные модели и подходы
Цель одна — максимальная производительность при минимальных затратах времени и ресурсов.
---
Ниже — сравнительная таблица, оформленная в Markdown для NodeBB. Я опирался на практический опыт пользователей и типовые сценарии Unity/C#-разработки, без маркетинговых искажений.
---
Сравнение инструментов: Cursor AI / GitHub Copilot / Cline
Критерий
Cursor AI
GitHub Copilot
Cline
Тип инструмента
IDE (fork VS Code) с ИИ-агентами
Плагин автодополнения
Агент для VS Code
Работа с проектом
🟢 Контекст всего workspace
🟡 Ограниченный контекст
🟢 Глубокий доступ к файлам
Агентное редактирование
🟢 Да (правит файлы сам)
Нет
🟢 Да
Inline-команды
🟢 Развитые (Ctrl+K)
🟡 Ограниченные
🟢 Да
Многофайловые правки
🟢 Стабильно
Практически нет
🟢 Да
Code review
🟢 Удобно встроен
🟡 Частично
🟡 Зависит от модели
Unity3D / C#
🟢 Отлично подходит
🟡 Нормально
🟡 Рабоче, но шумно
Контроль правок
🟢 Diff перед применением
🟡 Через git
🟡 Через git
Поддержка LLM
🟢 Много встроенных моделей
🟡 Ограничено Copilot
🟢 Любые (в т.ч. локальные)
Локальные модели
Нет
Нет
🟢 Да
Простота входа
🟢 Высокая
🟢 Очень высокая
🟡 Средняя
Риск «сломать проект»
🟡 Есть, но контролируем
🟢 Минимальный
Высокий без опыта
Подходит для новичков
🟢 Да
🟢 Да
Скорее нет
Скорость итераций
🟢 Высокая
🟡 Средняя
🟢 Высокая
Стоимость
🟡 Подписка
🟡 Подписка
🟢 Оплата токенов
---
Краткие выводы
Cursor AI
Лучший баланс мощности, контроля и удобства
Оптимален для Unity3D и C#
Подходит как для одиночной, так и для сложной проектной разработки
Требует дисциплины и code review
GitHub Copilot
Отличный автокомплит
Минимальные риски
Почти не подходит для сложных архитектурных правок
Cline
Максимальная гибкость и контроль
Поддержка локальных моделей
Высокий риск ошибок без опыта
Больше подходит для экспериментальных workflow
---
Итоговая рекомендация
Unity3D / C# / production → Cursor AI
Подсказки и автокомплит → Copilot
Эксперименты, локальные LLM, кастомные пайплайны → Cline
Шаблон скрипта для проверки MD5 в Cheat Engine с авто-активацией чита
Сначала дается краткий сжатый код.
function onOpenProcess(processid)
reinitializeSymbolhandler()
local md5Process = GetMd5Process(processid)
PrintMd5Process(process, md5Process)
local isSupportedVersion = CheckingMd5CurrentProcess(md5Process)
local lineResult = isSupportedVersion and 'Is supported version. Activating cheat...' or 'Is not supported version.'
if not isSupportedVersion then
speakEnglish(lineResult, false)
messageDialog('Error', lineResult, mtError, mbClose)
else
speakEnglish(lineResult, true)
-- Активация простого чита: поиск и заморозка адреса здоровья
autoAssemble([[
alloc(newmem,2048)
label(code)
label(return)
"Base.exe"+123456:
code:
mov [eax],(int)999
return:
jmp return
newmem:
jmp "Base.exe"+123456
nop
jmp return
]])
messageDialog('Success', 'Cheat activated for health: 999', mtInformation, mbOK)
end
end
А потом дается объяснение. Все нужно в формате nodebb
ce_md5_cheat.lua
md5 - это алгоритм хэширования exe-файла, который позволяет точно идентифицировать версию игры или приложения. Это критично для .CT таблиц в Cheat Engine, чтобы избежать ошибок из-за обновлений, меняющих смещения структур памяти.
В случае несоответствия MD5 версии показывается диалог ошибки и звуковое оповещение. Если версия поддерживается, скрипт автоматически активирует простой чит (в примере - заморозка здоровья на 999 по смещению "Base.exe"+123456; замените на реальные значения для вашей игры).
Обязательно проверяйте MD5 перед использованием таблиц, чтобы смещения структур не сдвинулись из-за патчей!
Получить md5 открытого процесса и записать его в MD5_CHEKING вручную
\-- Функция для ручного вывода md5 ранее подключенного процесса. Для установки MD5_CHEKING
PrintMd5CurrentProcess()
Пример проверки md5 с авто-активацией
function onOpenProcess(processid)
reinitializeSymbolhandler()
local md5Process = GetMd5Process(processid)
PrintMd5Process(process, md5Process)
local isSupportedVersion = CheckingMd5CurrentProcess(md5Process)
local lineResult = isSupportedVersion and 'Is supported version. Activating cheat...' or 'Is not supported version.'
if not isSupportedVersion then
speakEnglish(lineResult, false)
messageDialog('Error', lineResult, mtError, mbClose)
else
speakEnglish(lineResult, true)
-- Активация простого чита: поиск и заморозка адреса здоровья
autoAssemble([[
alloc(newmem,2048)
label(code)
label(return)
"Base.exe"+123456:
code:
mov [eax],(int)999
return:
jmp return
newmem:
jmp "Base.exe"+123456
nop
jmp return
]])
messageDialog('Success', 'Cheat activated for health: 999', mtInformation, mbOK)
end
end
Мультимодальные LLM: когда ИИ видит, слышит и понимает контекст
Что это?
Модели, способные одновременно обрабатывать текст, изображения, аудио и видео. Это не просто "распознавание картинок", а глубокое понимание связей между разными типами данных.
Пример работы:
Загружаете фото схемы электронной платы + текстовый запрос: "Найди ошибку в разводке конденсатора C7 и предложи исправление в формате KiCad".
Модель:
1️⃣ Анализирует изображение,
2️⃣ Сопоставляет с текстовым контекстом,
3️⃣ Генерирует инструкцию с исправлением.
---
Ключевые возможности и применение
Тип данных
Что умеет модель
Практическое применение
Текст + Изображение
Описание сцен, анализ графиков, чтение рукописных заметок
Автоматизация документооборота, генерация ALT-текста, поиск дефектов на чертежах
Текст + Аудио
Транскрибация с контекстным анализом, генерация эмоциональной речи
Виртуальные ассистенты с "характером", анализ колл-центров, озвучка презентаций
Видео + Текст
Понимание сюжета, поиск ключевых моментов, аннотирование
Автосуммаризация записей встреч, модерация контента, создание монтажных листов
---
️ Как работать с мультимодальностью?
Выбор инструментов:
OpenAI GPT-4o (vision + text + voice) — через API или ChatGPT.
Google Gemini 1.5 — поддерживает до 1 млн токенов контекста (включая видео!).
Open-source: LLaVA, Fuyu-8B (можно запустить локально с GPU).
Специфика промтов:
Четко указывайте тип данных:
"Проанализируй скриншот ошибки (вложение 1) и лог-файл (вложение 2). Предложи 3 решения."
Управляйте фокусом:
"Сравни графики продаж за 2023 и 2024 (PDF-страница 5). Сосредоточься на падении в Q3."
Используйте ролевые модели:
"Ты инженер-электронщик. По фото прототипа определи, где перегревается компонент."
Технические требования:
Для локальных моделей: GPU с 8+ GB VRAM (например, LLaVA-1.6 требует NVIDIA RTX 3090).
В облаке: API с поддержкой multipart/form-data (для загрузки бинарных файлов).
---
Зачем это технарю?
- Автоматизация сложных задач:
Запрос: "По видео сборки робота составь checklist для тестирования (вывод в Markdown)".
Результат: Готовый чеклист с привязкой к временным меткам.
- Работа с документацией:
Анализ сканов ТУ, схем, диаграмм без ручного ввода данных.
- Быстрый прототипинг:
"Сгенерируй UI для приложения по этому наброску на салфетке (фото) + описание функционала (текст)".
---
️ Ограничения (на 2025 год):
- Точность распознавания: Может ошибаться в деталях (например, номера микросхем на фото).
- Контекстное окно: Видео длительностью >10 мин часто требуют препроцессинга.
- Стоимость: Мультимодальные API в 3-5x дороже текстовых (например, GPT-4o vision — $5-15 за 1к запросов).
---
Как начать?
Поэкспериментируйте в Google Gemini (бесплатно) с загрузкой PDF/изображений.
Для кода: Llama 3 с LLaVA (туториал).
Протестируйте API через OpenRouter (поддержка >30 мультимодальных моделей).
Главный принцип: Мультимодальность — не замена текстовым LLM, а мощное расширение для задач, где контекст требует визуала или звука.
Премии, связанные с Transformer и глубоким обучением
1. Премия Тьюринга (Turing Award) — «Нобелевка» в Computer Science
- За что дают?
За выдающийся вклад в области информатики.
- Кто получил за Transformer и deep learning?
В 2023 году премию получили:
Йошуа Бенджио (Yoshua Bengio)
Джеффри Хинтон (Geoffrey Hinton)
Ян Лекун (Yann LeCun)
(Но не авторы Transformer! Они получили её за более ранние работы по нейросетям.)
Однако авторы Transformer (Васуани, Шейзер и др.) тоже могут её получить в будущем — их работа считается революционной.
2. ACL Test of Time Award (премия за долгосрочное влияние)
- За что дают?
Награждают статьи, которые сильно повлияли на NLP через 10+ лет после публикации.
- Кто получил?
Пока "Attention Is All You Need" (2017) ещё не получила (ей всего 7 лет), но, скорее всего, получит в 2027–2030 годах.
3. NeurIPS Best Paper (премия за лучшую статью на конференции NeurIPS)
- За что дают?
За самые значимые исследования в machine learning.
- Получал ли Transformer?
Нет, статья вышла в arXiv (2017), а не на NeurIPS. Но если бы подавали — точно бы выиграла.
---
Почему авторы Transformer ещё не получили Тьюринга?
Премию Тьюринга дают с задержкой (обычно через 10–20 лет после открытия).
В 2023 наградили "отцов deep learning" (Хинтона и др.) — их работы 1980–2000-х сделали возможным появление Transformer.
Transformer ещё "слишком молод" (2017), но его авторы — главные кандидаты на премию в 2030-х.
---
Какие ещё награды получили авторы Transformer?
- Google Research Awards (внутренние премии).
- Упоминания в топ-конференциях (ICML, ACL, NeurIPS) как одна из самых влиятельных работ.
- Цитирования (более 80 000+ ссылок на статью — это гигантский показатель).
---
Вывод
- Пока авторы Transformer не получили Тьюринга, но их работа изменила всю NLP-индустрию.
- Скорее всего, их наградят в будущем — как Бенджио, Хинтона и ЛеКуна.
- Сейчас они получают признание через цитирования и внедрение их идей в ChatGPT, Gemini и другие ИИ.
Transformer — это как изобретение транзистора для ИИ: пока не всегда награждают, но без него ничего не работает.
Вот детальный анализ недочетов текущего подхода, направления для улучшений и инновационные способы интеграции ИИ:
---
1. Что не учли в текущей реализации
1.1 Динамическое изменение структур
- Проблема: Игры с procedural generation (например, Starfield) могут менять расположение полей во время выполнения.
- Решение: Добавить мониторинг паттернов доступа:
function TrackStructureChanges(baseAddr)
while true do
local newLayout = AnalyzeStructure(baseAddr)
CompareLayouts(lastLayout, newLayout) -- Алерт при изменениях
sleep(1000)
end
end
1.2 Мультиплатформенная поддержка
- Упущение: Нет оптимизации под ARM (Android/iOS) и консоли (PS5/Xbox).
- Исправление: Добавить детектор ABI:
function GetPlatformType()
if readMemory(0x10000, 4) == 0x7F454C46 then
return "ELF" -- Android/Linux
elseif readString(0, 4) == "XBOX" then
return "XBOX"
end
end
1.3 Обработка сетевых структур
- Пробел: Не анализируются пакеты сетевого протокола, хотя они часто дублируют игровые структуры.
- Доработка: Интеграция сниффера пакетов:
function HookNetworkPackets()
-- Фильтрация пакетов, содержащих координаты игроков
PacketSniffer.filter("PlayerPosition", "xx xx ?? ?? xx FF")
end
---
2. Ключевые направления для улучшений
2.1 Гибридный статико-динамический анализ
- Идея: Комбинировать результаты CE с Ghidra:
graph LR
CE[Динамический анализ в CE] -->|Экспорт| Ghidra
Ghidra[Статический анализ] -->|Импорт паттернов| CE
2.2 Система предсказания смещений
- Метод: Использовать статистику обращений для предсказания важных полей:
function PredictImportantOffsets()
local stats = CollectAccessStats()
return {
health = stats.mostAccessed[1].offset,
ammo = stats.mostWritten[3].offset
}
end
2.3 Визуализация в 3D
- Инновация: Отображение структур как графа в 3D-пространстве (используя Cheat Engine's OpenGL):
function Draw3DStructureGraph()
for addr, links in pairs(graph) do
RenderNode(addr, links, GetStructureColor(addr))
end
end
---
3. Интеграция ИИ: конкретные применения
3.1 Классификация типов данных через ML
- Подход: Нейросеть анализирует паттерны памяти:
# Образец модели PyTorch
class TypeClassifier(nn.Module):
def forward(self, x):
# x: [значения памяти, контекст инструкций]
return torch.softmax(self.layers(x), dim=1) # Вероятности типов
- Использование в Lua:
function AIDetectType(address)
local tensor = MemoryToTensor(address, 64)
local result = ExecutePyScript("model.predict", tensor)
return {"float", "int", "pointer"}[result]
end
3.2 Генерация эксплойтов через ИИ
- Пример: Автоматический поиск уязвимостей:
function FindVulnerabilities()
local patterns = AI_GenerateCrashPatterns()
for _, pattern in ipairs(patterns) do
if TryCorruptMemory(pattern) then
LogExploit(pattern)
end
end
end
3.3 NLP для анализа игрового кода
- Применение: Автоматическое комментирование структур:
function GenerateComments()
local code = Disassemble(0x123456, 50)
local comment = AI_AnalyzeCode(code)
SetComment(0x123456, comment) -- Например: "Рендеринг частиц, цикл из 12 итераций"
end
---
4. Практические примеры улучшений
4.1 Для читеров
- Авто-определение уязвимостей:
-- ИИ ищет паттерны для телепортации
local teleportCheat = AI_FindMemoryPattern({
"float x,y,z",
"write frequency > 1Hz",
"range -1000..1000"
})
4.2 Для моддеров
- Генерация SDK для модов:
GenerateModSDK({
structures = analyzed_graph,
hooks = FindCodeHooks(),
api = AI_GenerateAPI()
})
4.3 Для разработчиков
- Детектор багов:
-- ИИ находит некорректные указатели
local bugReports = AI_ScanFor(
"dangling pointers",
memory_ranges,
expected_patterns
)
---
5. Что еще можно улучшить?
5.1 Оптимизация
Проблема
Решение
Медленный поиск
Кэширование + параллельные потоки
Ложные срабатывания
Ансамбли ИИ-моделей
5.2 Безопасность
function AntiAntiCheat()
-- Маскировка брейкпоинтов под легитимные вызовы
HideDebugger({
stealth_mode = "SYSTEM_CALL",
fake_patterns = GetNormalTrafficSamples()
})
end
5.3 Пользовательский опыт
\-- Голосовое управление читами
RegisterVoiceCommand("дай бессмертие", function()
SetGodMode(true)
end)
---
Итог: дорожная карта улучшений
Срочные доработки (1-2 недели):
Динамический трекинг структур
ARM/консольная поддержка
Среднесрочные (1-3 месяца):
Интеграция ИИ для классификации
3D-визуализация
Долгосрочные (6+ месяцев):
Полный AI-ассистент для реверса
Генерация читов через NLP
Пример коммита для начала работ:
\+ function AI_Integration() {
\+ // Добавляем вызов Python ML-модели
\+ local result = ExecutePython("predict_type.py", memoryDump)
\+ }
Готов реализовать любое из этих улучшений в вашем форке. Какое направление наиболее приоритетно?
Основная:
CeWiki
Исчерпывающая:
Lua.txt (обновление 2023)
Форум:
cheatengine.org
Сайт:
cheatengine.org
Использовать CE можно разными способами. Самый простой - ничего не програмировать, а искать адреса в памяти процесса игры по правилам поиска, замораживать их значения. Посложнее - искать и использовать указатели на адреса памяти, чтобы после перезапуска уровня или игрового процесса таблица с адресами правильно работала. Посложнее будет правка дизассемблированного кода с помощью скриптов cheat engine, что даст гораздо больше управления над значениями адресов памяти, например, записать здоровье дружественным юнитам и даже создание предметов на карте или в инвентаре.
Работа с cheat engine это один из самых интересных способов познакомиться с программированием на асемблере через асемблерные вставки и через прогон отладочного кода в пошаговой отладке (или без прогона через брейкпонты). Также можно ознакомиться с програмированием на lua, программированием dll-ок на c++. На C++, reclass и IDA можно построить классы и управлять игровым поцесссом более гибко и масштабно. Также есть инструменты под определенные игровые движки, которые облегчают реализацию читов, например, поиск функций (отладочных, декомпилированных) для читов и их создания. Скорее всего, если поискать, то можно много новых инструментов найти в Интернете.
Также ознакомиться с программированием можно на уровнях игровых движков (unity, unreal engine, cry engine и других) через поиск в Интернете. Так можно получить представление о древовидной связи игровых обьектов сущностей и связи этих обьектов с обьектами классов-поведений. Часть классов-поведений(компоненты) являются частью игрового движка, а часть является особенностью определеной игры. Например, создание, удаление, копирование обьекта-сущности с его компонентами - это прерогатива функций игрового движка, на котором делают множество игр. А, например, управление игровой механикой это уже связь с конкретной игрой или даже конкретной версии игры. Когда, работаешь с игровым движком, то прекрасно понимаешь почему динамические указатели имеют место быть. И это и сцена, которая хранит дерево обьектов, это само дерево обьектов и это место в динамическом списке компонентов и сам компонент, который может работать с переменной локальной или же обращаться к обьектам других компонентов или классов не на основе компонентов.
Короче говоря, если планируешь изучать прогоаммирование, то ничего нет интересней начать с программирования читов и изучения архитектуры операционной системы (начиная с процессов, потоков, памяти и т.п.). Также изучая готовые примеры скриптов, кодов, исходников игр и трейнеров. Написание трейнеров и обхода защит от трейнеров, тоже очень поможет в изучении программирования.
После использования Obsidian более месяца понял, что пока не нашел лучше программы для ведения базы знаний.
При чем чем больше пользуешься тем вероятнее изменить стратегию ведения базы. Например, я отказался от множества vault в пользу трех: для работы на рабочем ПК, на смартфоне и на ноутбуке. Пока они все составляются не зная друг про друга. Большое их кол-во неудобная штука, т.к. переключаться между ними долго, искать в каждом отдельном так себе... Граф поможет искать все связи и ссылки. Возможно, что-то еще напишу по Obsidian. Думаю, что я изучил по Obsidian все, что мне нужно и по его основным плагинам, кроме написания сами плагинов (пока не потребовалось)
Предлагаю поделиться своими ТОП горячими клавишами в Visual Studio.
ctrl + ] найти закрывающие скобки функции, класса. С shift можно выбрать внутри.
shift + alt + (. или <) перемещение по выделенными словам как f3 вперед или назад
alt + лев. кнопка мышки установка мульти курсора. После выбор по shift или в пункт 2, 4.
shift +u или ctl +u сделать выделенный текст строчными или прописными
ctrl + R + G - удалить неиспользуемые пространства имен
ctrl + shift + v кольцевой буфер обмена
ctrl + K + S обернуть строки (в регион, namespace, if и т.п.)
ctrl + alt + X окно элементов (перетаскиваем туда выделенные строки в своим папки. Это для хранения истории своих строк кода)
ctrl + K поставить закладку
ctrl +K+K создать/убрать закладку
ctrl +K+N / CTRL+K+P перемещение по закладкам
ctrl +K+L удалить все закладки
ctrl + T показать список задач.
Перемещение строки или выделенных строк
alt +↑ переместить строку вверх
alt +↓ переместить строку вниз
alt + shift +arrow keys(←,↑,↓,→) выбор колонок текста
ctrl +arrow keys(←,→) перемещение по словами
ctrl +arrow keys(↑,↓) движение списка
и т.п.
Права на загрузку файлов выставил всем на группу подтвержденных пользователей. Это делается один раз администратором
У @LIRW, вроде, нет подтверждения. У кого нет подтверждения сколько-то дней, те не смогут писать. При возникновении проблем с регистрацией нужно написать мне. Если нельзя со старой учетки, то - с новой
Категории
Метки:
В сети:



