• CE Документация

    Прикреплена Перенесена
    1
    0 Голоса
    1 Сообщения
    582 Просмотры
    MasterGHM
    Основная: CeWiki Исчерпывающая: Lua.txt (обновление 2023) Форум: cheatengine.org Сайт: cheatengine.org Использовать CE можно разными способами. Самый простой - ничего не програмировать, а искать адреса в памяти процесса игры по правилам поиска, замораживать их значения. Посложнее - искать и использовать указатели на адреса памяти, чтобы после перезапуска уровня или игрового процесса таблица с адресами правильно работала. Посложнее будет правка дизассемблированного кода с помощью скриптов cheat engine, что даст гораздо больше управления над значениями адресов памяти, например, записать здоровье дружественным юнитам и даже создание предметов на карте или в инвентаре. Работа с cheat engine это один из самых интересных способов познакомиться с программированием на асемблере через асемблерные вставки и через прогон отладочного кода в пошаговой отладке (или без прогона через брейкпонты). Также можно ознакомиться с програмированием на lua, программированием dll-ок на c++. На C++, reclass и IDA можно построить классы и управлять игровым поцесссом более гибко и масштабно. Также есть инструменты под определенные игровые движки, которые облегчают реализацию читов, например, поиск функций (отладочных, декомпилированных) для читов и их создания. Скорее всего, если поискать, то можно много новых инструментов найти в Интернете. Также ознакомиться с программированием можно на уровнях игровых движков (unity, unreal engine, cry engine и других) через поиск в Интернете. Так можно получить представление о древовидной связи игровых обьектов сущностей и связи этих обьектов с обьектами классов-поведений. Часть классов-поведений(компоненты) являются частью игрового движка, а часть является особенностью определеной игры. Например, создание, удаление, копирование обьекта-сущности с его компонентами - это прерогатива функций игрового движка, на котором делают множество игр. А, например, управление игровой механикой это уже связь с конкретной игрой или даже конкретной версии игры. Когда, работаешь с игровым движком, то прекрасно понимаешь почему динамические указатели имеют место быть. И это и сцена, которая хранит дерево обьектов, это само дерево обьектов и это место в динамическом списке компонентов и сам компонент, который может работать с переменной локальной или же обращаться к обьектам других компонентов или классов не на основе компонентов. Короче говоря, если планируешь изучать прогоаммирование, то ничего нет интересней начать с программирования читов и изучения архитектуры операционной системы (начиная с процессов, потоков, памяти и т.п.). Также изучая готовые примеры скриптов, кодов, исходников игр и трейнеров. Написание трейнеров и обхода защит от трейнеров, тоже очень поможет в изучении программирования.
  • ASM API

    Прикреплена Перенесена
    1
    0 Голоса
    1 Сообщения
    771 Просмотры
    MasterGHM
    Опкоды из Intel-ловской документации Instruction_Set_Reference.pdf 64-ia-32-architectures-software-developer-vol-2a-manual.pdf 64-ia-32-architectures-software-developer-vol-2b-manual.pdf
  • Windows API

    Прикреплена Перенесена
    1
    0 Голоса
    1 Сообщения
    782 Просмотры
    MasterGHM
    API Windows - это пользовательские функции для работы с процессами и памятью. Все программы, приложения, сервисы, в том числе и программа CE используют эти функции и даже игры. Функции что-то делают, что-то вызывают, какие-то результаты возвращают. Смотрим справки Win32.chm - справочник Другие ресурсы: Справочник по Windows API Вызов функций Windows API Основы программирования для Win32 API Софт для работы с API: API Monitor: Spy on API Calls and COM Interfaces (Freeware 32-bit and 64-bit Versions!) | rohitab.com https://sematext.com/blog/api-monitoring-tools/[Win32.chm](/assets/uploads/files/1683990989161-win32.chm) Книги: Книга "[RU] Джефри Рихтер Windows для профессионалов. 4 издание.pdf"
  • CE Auto Assembler API

    Прикреплена Перенесена
    1
    0 Голоса
    1 Сообщения
    182 Просмотры
    MasterGHM
    Auto Assembler Auto Assembler - Commands - Cheat Engine (описание команд Autoassebler c примерами). Там же вставки C-языка {$CCODE playerbase=RCX newhealth=RBX} int isplayer=*(*int)(playerbase+0xb8); if (isplayer) ​newhealth=100000; else ​newhealth=0; {$ASM} Руководство по C языку (https://www.geeksforgeeks.org/c-programming-language/) Там же вставки Lua языка {$LUACODE playerbase=RCX newhealth=RBX} if readInteger(playerbase+0xb8)==1 then newhealth=100000 else ​newhealth=0 end {$ASM} Руководство по Lua (https://www.lua.org/manual/5.4/) Lua классы в CE (https://wiki.cheatengine.org/index.php?title=Cheat_Engine:Lua)
  • CE Lua API

    Прикреплена Перенесена
    1
    0 Голоса
    1 Сообщения
    149 Просмотры
    MasterGHM
    CE 7.5.0.7431 (в репозитории файл с кратким описанием API celua.txt, который можно найти рядом с CE) Wiki: Lua - Cheat Engine (содержит более полное описание классов с примерами)
  • Рекомендации для изучения промтинга LLM

    Перенесена
    2
    0 Голоса
    2 Сообщения
    246 Просмотры
    MasterGHM
    Мультимодальные 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, а мощное расширение для задач, где контекст требует визуала или звука.
  • Unity API (игровой движок)

    Перенесена
    1
    0 Голоса
    1 Сообщения
    176 Просмотры
    MasterGHM
    API
  • Panda3D API (игровой движок)

    Перенесена
    1
    0 Голоса
    1 Сообщения
    148 Просмотры
    MasterGHM
    API API Reference — Panda3D Manual
  • Frostbite API (игровой движок)

    Перенесена
    1
    0 Голоса
    1 Сообщения
    145 Просмотры
    MasterGHM
    API Frostbite API Блоги [Week 7] A Real Game Engine - Isetta Engine
  • CryEngine API (игрвой движок)

    Перенесена
    1
    0 Голоса
    1 Сообщения
    151 Просмотры
    MasterGHM
    Изучив API, можно управлять иерархией сущностей, сценами, физикой и т.п. в играх созданных на этом движке. Игровой бинарный код будет состоять из функций игрового движка и функций разработчиков игры. Можно управлять сущностями на основе API движка или же функциями разработчиков.
  • UnrealEngine API (игровой движок)

    Перенесена
    1
    0 Голоса
    1 Сообщения
    147 Просмотры
    MasterGHM
    UnrealEngine - популярный игровой движок с открытым API. Открытое API должно позволить управлять иерархией сущностей (акторы). Т.е. создать сущности, удалять, менять положение в иерархии. Управлять сценами с этими сущностями, физикой, Meshes, эффектами, звуками... Единственное нужно разобраться в этом API, собрать dll модуль на языке программирования и загрузить его в игру... ну, и возможно, управлять этим модулем извне.
  • Работа с системой контроля версий в команде разработчиков

    git-flow версионирование
    1
    0 Голоса
    1 Сообщения
    142 Просмотры
    MasterGHM
    Инфа по совместной работе с гитом. Может быть пригодится кому, а может и нет. Такую систему я использую на работе недавно. Можно совместно работать над одним большим проектом через git-flow. Возможно, кто-то из форумчан тоже использует git flow на работе. git-flow — это набор расширений git предоставляющий высокоуровневые операции над репозиторием для поддержки модели ветвления Vincent Driessen. Кратко. Модель контроля версии построена на 4 ветках master - релизы develop - разработка feature - фичи hotfix - исравления С develop начинается разработка через копирования в ветку feature. Над фичей идет работа, а после завершения feature мержится с develop и feature сразу удаляется. После запланированных изменений develop мержится с master уходя в релиз. Если возникли баги, то от master создается ветвь на hotfix . После фиксов hotfix мержится с master. Доступ к мастер ветки может иметь один человек или его доверенные лица. Ветка Develop открыта для разработчиков. Это значит, что множество разработчиков колдуют в Develop ветке, а мержит изменения с master уже главный разработчик или несколько главных разработчиков. В мастере создаются теги с обозначением версии. Учитывая номер версии МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ, следует увеличивать: МАЖОРНУЮ версию, когда сделаны обратно несовместимые изменения API. МИНОРНУЮ версию, когда вы добавляете новый функционал, не нарушая обратной совместимости. ПАТЧ-версию, когда вы делаете обратно совместимые исправления. Дополнительные обозначения для предрелизных и билд-метаданных возможны как дополнения к МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ формату. git-flow заметки Семантическое версионирование
  • Lua ООП конспект

    ce lua oop
    1
    0 Голоса
    1 Сообщения
    148 Просмотры
    MasterGHM
    Пригодится для создания больших плагинов в Cheat Engine. Более ~500 строк Наследование ClassX = {} function ClassX:New(_argument1, _argument2) local obj = {} obj.argument1 = _argument1 obj.argument2 = _argument2 -- Через "self" function obj:GetValue1() return obj.argument1 end function obj:GetValue2() return obj.argument2 end setmetatable(obj, self) obj.__index = ClassX return obj end someObject = ClassX:New("A", "B") print(someObject.GetValue1()) print(someObject.GetValue2()) Woman = {} --наследуемся setmetatable(Woman ,{__index = ClassX}) --проверяем masha = Woman:New("Марья","Ивановна") print(masha:GetValue1()) --->результат: Марья Инкапсуляция Person = {} function Person:new(name) --приватное свойство local private = {} private.age = 18 local obj = {} --публичное свойство obj.name = name or "Вася" -- "Вася" - это значение по умолчанию function obj:getAge() return private.age end setmetatable(obj,self) self.__index = self return obj end vasya = Person:new() print(vasya.name) --> результат: Вася print(vasya.age) --> результат: nil print(vasya:getAge()) --> результат: 18 Полиморфизм Person = {} function Person:New(name) local private = {} private.age = 18 local obj = {} obj.name = name or "Вася" -- Защищенный от переорпеделения function obj:GetName() return "Person protected "..self.name end -- Переопределяемый function Person:GetName2() return "Person "..self.name end setmetatable(obj, self) self.__index = self return obj end --создадим класс, унаследованный от Person Woman = {} setmetatable(Woman,{__index = Person}) function Woman:GetName() return "Woman protected "..self.name end function Woman:GetName2() return "Woman "..self.name end --проверим masha = Woman:New() print(masha:GetName()) --> Person protected Вася print(masha:GetName2()) --> Woman Вася ref
  • FPU инструкция FINCSTP. Очистка ST(0)

    ce aa fincstp
    1
    1
    0 Голоса
    1 Сообщения
    200 Просмотры
    MasterGHM
    Команда FINCSTP добавляет единицу (без переноса) к трехбитному полю TOP слова состояния FPU. Эффект действия команды FINCSTP заключается во вращении стека. Она не изменяет регистров тэгов и не перемещает данные. Она не эквивалентна операции выталкивания из стека, потому что, она не устанавливает тэг старой вершины стека в значение пустой. Флаги C0, C2, C3 регистра SW после выполнения команды не определены, флаг C1 устанавливается равным 0. Похожа на FSTP, также вращает стек регистров FPU (я кстати не знал, увидел при тестах в CE), но только не перемещает значение по адресу. FSTP [здесь указывается адрес или регистр] FINCSTP Если нужно вытолкнуть значение из ST(0), а адрес куда его выталкивать не нужен, то можно сделать так FINCSTP Или аналог FSTP ST(0) При использовании стоит обратить внимание на флаги, возможно их состояние будет влиять на исполнение кода. *Вообще не помню почему я пишу "выталкивать значение" через fstp, когда оно появляется снизу в ST(8). Т.е. не выталкивается по сути.
Любое копирование материалов с указанием первоисточника.
СeLua[RU] 2026©