Гость AlexG

Создание трейнера для Карибского кризиса, нужен пример

4 сообщения в этой теме

Доброго времени суток, форумчане)

Заинтересовался созданием трейнеров в частности для довольно старой игрушки Карибский кризис на движке Противостояния.

Опыта в этом деле еще нет, прошу объяснить кого-нибудь из опытных на примере ресурсов в этой или подобной игре.

Проблема в том, игрушка DMA и искомое значение постоянно "уплывает" от меня. Пользовался TSearch и Code Cave Chaos но результата нет, трейнер получается не рабочий.

Надеюсь кто-нибуть найдет время подсказать правильный алгоритм/или посоветовать другой путь создания/другие утилиты и т.д.. Заранее благодарен за любую помощь.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Самый простой способ найти указатель - использовать Артмани (в справке написано как). Если игра не защищена старфорсом - то проблем быть не должно. Что дальше делать с этим указателем недавно обсуждали тут и тут.

ПС: сам только вот начал в играх читы создавать.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Указатели можно представить так.

Структура данных1:

{

Данные1

Данные2

Адрес Структуры2 (это и есть указатель)

}

Структура данных2:

{

Адрес Структуры3 ...(это указатель на структуру3)

Адрес Структуры4 ... (это указатель на структуру4)

Адрес Структуры5 ... (это указатель на структуру5)

}

Адреса на другие адреса принято называть указателями. Чтение адресов и запись в них осуществляется некоторыми инструкциями например

mov [адрес],регистр (инструкция записи в адрес из регистра)

mov регистр,[адрес] (инструкция чтения значения из адреса в регистр)

Соответственно извлечение данных из длинной цепочки указателей требует несколько инструкций mov чтения.

Есть несколько способов поиска указателей. Один из них состоит в том чтобы использовать сканер памяти и отладчик.

Начиная с этой темы можно начать поиски информации про примеры нахождение указателей. Именно там есть пример как искать указатель используя сканер памяти и отладчик. Правда нужно зарегистрироваться на форуме Cheat Engine и прочитать статьи на английском. Текста там мало в основном такие картинки (одна из них ниже).

На этой картинке

9-14-2011_11-44-30_am_213.png

1) Нашли адрес параметра

2) Ставим бряк на адрес и исследуем прерывающиеся инструкции.

3) Например, на картинке уже можно составить путь указателя, правда он будет не полным, т.к. это не весь путь.

Простым методом подстановки делаем:

mov ecx,[[esi+0c] + ecx*8+4]

Ищем адрес значения esi в памяти игры и если он будет зелёным, то можно более не искать указатели.

Вместо регистров подставляем их значения и получаем результат. Квадратные скобки обозначают чтение адреса в ecx.

После составления указателя пользуемся им...

Почти всегда бывает, что весь путь указателей составлять не нужно. Достаточно найти инструкцию, которая работает только с одним адресом. CE позволяет определить какие адреса читаются или в какие происходит запись за время игры. Если адрес постоянно один, т.е. имеет отношение только к твоему адресу, то можно не искать весь указатель, а сделать инъекцию ассемблерного кода, которая изменит алгоритм записи в этот адрес...

Во многих играх при выходах новых патчей указатели меняются. Есть тоже способы, но это уже отдельная тема.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо всем за помощь, сейчас попробую применить на практике.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас