|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.07.2014, 18:11 | #1 |
Форумчанин
Регистрация: 30.08.2011
Сообщений: 102
|
Вопрос про написание трейнера для игорей
Хай! У меня простая задача (я сам её себе поставил), есть игра, в которой полоса жизней отображается без цифр, то есть я вижу, сколько у меня жизней, только в процентном соотношении, ну типа пол полоски нету - пол хп сняли, но в цифрах текущего хп я не вижу. И вот я хочу выводить куда-то эти циферки. С выводом и т.д. проблем не будет, но сначала нужно понять, как найти нужное значение в памяти.
Я прочитал статейку http://www.chemax.ru/articles/tutorial_dma_nondma.php, но она какая-то неполная. Я нашел адрес, в котором записано текущее значение жизней, но проблема в том, что таких адресов несколько, и с каким работать - мне непонятно. К тому же, не совсем понятно, что делать далее. Я понял то, что в программе есть участки памяти, в которых записано значение, но эти участки изменяют свое положение при каждом запуске игры и т.д. Но есть указатели, которые не изменяют своего места располажения, и если я найду адрес нужного указателя, то я потом смогу просто подставлять его адрес + смещение и получать доступ к участку памяти с нужным мне значением. Но в статье автор не написал, относительно какого адреса находится адрес указателя? Ну я просто думаю, что при запуске программы, она загружается в свободное место, то есть, как на картинке Это значит, что и адрес указателя будет менятся при каждом запуске проги? В общем, расскажите, что знаете, про написание трейнера, или дайте годную статейку, где описаны все возможные проблемы и т.д. Пасиба. |
26.07.2014, 18:30 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Конничива )
А тебе сколько лет если не секрет? Кстати Игори твои не обидятся на трейнер?
I'm learning to live...
|
26.07.2014, 18:37 | #3 |
Форумчанин
Регистрация: 30.08.2011
Сообщений: 102
|
|
26.07.2014, 18:46 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
) Повеселил...
Короче нужно тебе реверсировать игру, чтоб понять как она работает. Без реверсирования врядли получится. Нужно в отладчике поискать код который отвечает за жизни, и после к нему привязываться. Но привязываться это пол дела. А вот найти его... Короче читать тебе нужно про отладку исполнимых файлов. Не знаю никаких статей кроме чтива от Рикардо Нарвахи. Он правда совсем не про трейнеры пишет, но вот про отладку там можно многое узнать.
I'm learning to live...
|
26.07.2014, 19:30 | #5 | |
Форумчанин
Регистрация: 30.08.2011
Сообщений: 102
|
Цитата:
|
|
26.07.2014, 19:39 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А как ты хотел? Р-р-р-аз и в дамки?
Это не два пальца об асфальт.
I'm learning to live...
|
26.07.2014, 19:46 | #7 |
Форумчанин
Регистрация: 30.08.2011
Сообщений: 102
|
|
28.07.2014, 07:35 | #8 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
28.07.2014, 11:08 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
с дебагом проще найти.
хотя можно вспомнить про Cheat engine. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
31.07.2014, 14:59 | #10 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
lawliet93, копайте в сторону CheatEngine там тебе и дизассемблер и отладчик и скриптовой движок и создание трейнера из скрита и куча всего прочего... Но чтобы всем этим ползьоваться надо кое-что знать, и знать основательно:
1. Ассемблер AT&T, Intel, особенности x64 платформы 2. Понимание работы и взаимодействия ОЗУ, ПЗУ и ЦП. 3. Язык программирования Lua. 4. Английский язык на уровне чтения техн. документации. {Дополнительно}5. Изучить как генерируется бинарный код казличными компиляторами. Там мнооого чего можно посмотреть, если знать где искать. {Дополнительно}6. Практиковаться на каких-нибудь компиляторах ассесблера, FASM, NASM, TASM на выбор Первых 4 пункта - тот самый минимум который вам надо знать, чтоб вообще заниматься реверс-инжененрией(не важно чего), и темболее использовать это знание в своих целях. Сейчас практивесски ве игры используют DMA. Последний раз редактировалось Человек_Борща; 31.07.2014 в 15:05. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос про инвентарь для MMO игры. | moshkin_ura | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 7 | 21.03.2012 19:22 |
Создание трейнера для игры | Человек_Борща | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 13 | 12.11.2010 20:24 |
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) | Albert2008 | Общие вопросы Delphi | 4 | 21.08.2008 15:33 |
У меня вопрос про базы данных,а точнее про таблицы!!! | Alexij | Общие вопросы Delphi | 1 | 13.04.2008 23:24 |
Вопрос про правильное написание функции | AndreichSB | Microsoft Office Excel | 6 | 25.12.2006 19:27 |