MasterGH Опубликовано 29 января, 2010 Поделиться Опубликовано 29 января, 2010 На общее обсуждение предлагаю внести классификацию некоторых терминов в геймхакинге. А также предлагаю пользоваться некоторыми новыми терминами, касающихся типов инструкций, а также дополнить или изменить классификацию.[sp=Скрыто]Опкод (Operation Code) - часть инструкции, равная одному байтуНоп (Nop - Noop) - опкод "пустой", ничего не делающей инструкции. Используется для выравнивания оригинальных инструкций при создании Code Cave.Нопить - забивать какую-либо инструкцию нопами (nop).Типы данных - прежде всего тип данных обусловлен размером количества единиц информации битов или байтов. Затем процессор может их воспринимать как знаковое число, целое число, вещественное число или как текст.Проверочные байты - байты, которые не меняются при разных обновлениях и патчах игры. Помогают найти определить адрес внедрения, если он был смещен.Статический адрес - адрес в памяти, который не меняет своего положения в памяти игры. Виден как зелёный адрес в Cheat Engine и MHS. Находится в регионах памяти с типом Image.Динамический адрес - адрес в памяти, который меняет своё положение в памяти игры после некоторого события.Цепочка указателей - указатель на указатель больше чем одного уровня. Представление цепочки указателей обозначается фигурными скобками. Пример f[[game.exe+0x6454]+5*54h]. Более подробно в справке MHS.Структура - структура это набор данных. Главные параметры структуры: есть начало и конец, соответственно размер. В структурах могут быть данные как одного типа так и разных.Расструктуризация - раскрытие характеристик определённых структур данных при которой становится известно, на каком смещении от начала структуры какие данные находятся. Например, здоровье находится на смещении +0x48, от начала структуры или начала структуры объекта.Объект (игровой объект) - объект можно воспринимать буквально как явление, предмет, на к-рый направлена чья-н. деятельность, чье-н. внимание (книжн.) . Объект в программировании или при обмане игр, когда речь идёт об инструкциях работающих с объектами стоит воспринимать как структуру данных в памяти, которая отражает поведение некоторой абстрактной сущности. Например, юнита в игре можно реализовать как объект на основе описания класса юнита. Объект наполняется данными по описанию класса, также к данным по смещениям от начала структуры объекта "привязываются" методы. Таким образом методы будут работать с некоторым объектом на основе описания класса.Класс - это описание данных и методов объекта. На описании класса реализуются объекты или один объект. Класс также является типом.Метод - это в ассемблерном представлении, это блок кода который работает только с определённым классом. Этот блок кода может вызывать от куда угодно, но он будет работать с данными класса к которому привязан.Массив данных - массив представляет однотипную структуру данных. Например, массив байт или массив некоторых объектов.Отладчик - обычно, включает в себя также дизассемблер. Позволяет ставить брекпоинты, снимать показания регистров изменять регистры и т.п.Брейкпоинты - точки остановки программы. Можно поставить на адрес на чтение и запись. Можно поставить на инструкцию. В результате остановки игрового процесса можно снять показания регистров. Брейкпоинты бывают также условные, которые выполняются при определённых условиях (см. правку по ollyDbg)Дизассемблер - позволяет перевести байт-код в ассемблерное представление. Ассемблер - язык программирования, самый близкий к машинному.Регистры - информацию по регистрам смотреть в Интернете или у нас на форуме. Своими словами это операнды, которыми оперирует процессор, выполняя те или иные инструкции.Инструкции - или ассемблерные инструкции, также смотреть в Интернете или у нас на форуме. Дизассемблированные инструкции отражают какую-то операцию происходящую в игре. С помощью программ CE, MHS можно изменять инструкции изменяя поведение игры и её игровых объектов.Часто обращаемая инструкция - инструкция которая срабатывает очень быстро.Определение адресов на инструкции - определение результирующих адресов с которыми происходит работа. Например, есть инструкция mov eax, [ecx*4 + 64]. В квадратных скобках может проскакивать множество адресов, которые можно определить средствами CE или OlltDbg.Классификация инструкций сработавших при брейкпоинте.-Тип АДанная инструкция работает с некоторым единственным параметром только определённого игрового объекта. Например, здоровье от структуры находится по смещению +155. Инструкция А, работает только с этой структурой, только со смещением +155.-Тип BЭта инструкция работает с параметрами двух и более объектов, параметры которых находятся по одинаковым смещениям. Например, у нас шесть объектов - игроков, у которых по смещениям +155 находится здоровье. Инструкция типа B получает указатель на начало некоторой структуры объекта игрока, прибавляет смещение +155 и работает с параметром (читает параметр из адреса или пишет в адрес). Таким образом, инструкция типа B может отнимать здоровье у героя, а также отнимать здоровье у врагов.-Тип СДанный тип инструкций может работать с данными находящимися не по одному (как при типах А и В), а по разным смещениям относительно одной или более структур. Стоит не путать тип А с С, т.к. инструкция А работает с одним смещением, тоже самое касается и B.Отсюда мы получаем подтипы:C(А) - работает с разными смещениями одной структуры (объекта);C( - работает с разными смещениями более одной структуры (объекта).[/sp] Ссылка на комментарий Поделиться на другие сайты Поделиться
live_4_ever Опубликовано 29 января, 2010 Поделиться Опубликовано 29 января, 2010 MasterGH, спасибо большое! Много чего не знал...и не понимал. Спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 29 января, 2010 Автор Поделиться Опубликовано 29 января, 2010 Да не за что, я уже кстати кое что подредактировал и похоже буду ещё редактировать и редактировать.Также жду мнение Xipho, может он добавит какие-нибудь "термины" Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 29 января, 2010 Поделиться Опубликовано 29 января, 2010 Опкод (Operation Code) - часть инструкции, равная одному байтуНоп (Nop - Noop) - опкод "пустой", ничего не делающей инструкции. Используется для выравнивания оригинальных инструкций при создании Code Cave.Нопить - забивать какую-либо инструкцию нопами (nop).Пока все. Еще что-нибудь придет в голову - напишу.ЗЫ. Термины можно добавить в первый пост. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 30 января, 2010 Автор Поделиться Опубликовано 30 января, 2010 Добавил... "Терминология" в таком виде уехала в тему "Курс для новичков" и будет обновлена, если будут изменения Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения