|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.12.2011, 19:12 | #1 |
Пользователь
Регистрация: 05.02.2011
Сообщений: 11
|
Перехват событий счётчика жизней в игре
Здравствуйте! Возник довольна интересный вопрос. Собственно не чего сверх глобального или просто сложного. Проще говоря как можно реализовать перехват определённых событий в компьютерной игре? Меня собственно интересует счётчик жизней, то есть если с ним происходят изменения на них реагирует внешняя программа. К примеру как отловить изменение счётчика жизней в игре Star Wars Battlefront, Unreal или ваши варианты?
Лично сам пока смутно что-то представляю, экспериментирую я отладчиками... Но всё же я думаю стоит спросить у народа, может кто-то уже что-то подобное делал? |
11.12.2011, 19:48 | #2 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
эта задача спецефична для каждой игры, надо чётко знать внутреннее устройство игры
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
11.12.2011, 20:48 | #3 |
Пользователь
Регистрация: 05.02.2011
Сообщений: 11
|
Ваши слова не лишены искомого мной смысла! А интересующие меня игры я уже указал ранее в своём сообщение. Но собственно меня всё же интересует совет, направление по которому мне надо продолжать поиски.
|
12.12.2011, 10:42 | #4 |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 395
|
g-davicelli, здравствуйте. Алгоритм действий:
Допустим что хотим перехватывать количество денег в игре. (все действия производится в программе CheatEngine) 1. Ищем число денег в памяти (скорее всего оно будет размера int (для HP наверняка будет размера в один байт)). 2. Как нашли - ставим бряк на память где это число хранится. 3. Изменяем количество денег через игру. 4. Как изменили - сработает бряк который мы поставили на память. Ну и как он сработает - тебя выкинет в asm код где это значение изменится. Вот, это то событие где изменяется кол. денег. 5. Для того чтобы перехватывать количество денег можно пойти двумя путями: 5.1. Изменяем код EXE который на HDD.(естественно изменяем на то, чтобы отсылал количество денег в память программы шпиона)(минусы: скорее всего код программы будет чем нибудь зашифрован) 5.2. Изменяем код EXE который уже в памяти. (минусы тут есть но не существенные) Другой вариант на мониторинг изменения кол. денег такой: Искать кол. денег в памяти. Следить за ним (из программы шпиона) и как оно изменится - давать сигнал. Минусы очень существенные (если интересует автоматизм) - надо будет фильтровать (отсеивать) ручками найденные адреса.(т.к. если мы захотим найти в памяти число 100 (к примеру будет это кол. HP) то это число будет много раз встречаться в памяти) |
16.02.2012, 02:57 | #5 |
Пользователь
Регистрация: 05.02.2011
Сообщений: 11
|
Всем доброго здравия и времени суток! Если помните не так давно я задавался вопросом, перехвата событий счётчика жизней в компьютерных играх. Собственно мой вопрос для меня ещё актуален, предложенное, Zotox`ом решение весьма интересно. Хотя при моих экспериментах в этой области не было успешных результатов. Проще говоря мне не удаётся программным путём перехватить и корректно обработать события счётчика из игры. Для эксперимента была взята компьютерная игра, Unreal tournament 2004. Пытался получить строку которая отвечает за жизни с помощью программы ArtMoney, и в последствии перехватить её своей программой. Но как уже было сказано не было результата.
Может быть кто что посоветует, предложен исходник укажет на ошибку или предложен иное решение? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Неработает перехват событий от клавиатуры | AndruXaII | Win Api | 4 | 27.09.2011 20:05 |
Перехват событий принтера | Kazik | Помощь студентам | 1 | 02.06.2011 21:28 |
Перехват событий клавиатуры и мыши (X system) | damned20 | Qt и кроссплатформенное программирование С/С++ | 4 | 26.02.2010 12:18 |
Перехват событий клавиатуры и мыши (X system) | damned20 | Общие вопросы C/C++ | 0 | 25.02.2010 09:40 |
Перехват событий клавиатуры | CODeRUS | Win Api | 8 | 06.07.2009 11:08 |