powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как перехватить событие из компьютерной игры
42 сообщений из 42, показаны все 2 страниц
Как перехватить событие из компьютерной игры
    #37692726
alekseiryzhakov26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Хочу задать вот такой вопрос: Надо написать программу которая будет перехватывать или определять событие которое происходит в компьютерной игре. В общем смысле я хочу понять каким способом в своей программе можно определить изменение событий считчика жизней в компьютерных играх. По сути взять к примеру, "Unreal Tournament", "Star Wars BattleFront" или "Counter Strike".
Я понимаю что нужно первым делом определить то или иное действие когда происходят какие либо события с счетчиком жизней в игре. Но вот какое, и что не менее сложное как это обработать своей программой?
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37692742
Жырный Тони
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бедный Иноз, как ты всё это тепришь?
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37692754
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Жырный ТониБедный Иноз, как ты всё это тепришь? вот так :)




alekseiryzhakov26,
ArtMoney http://www.artmoney.ru/
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37692769
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По вопросу, я так понял Вам нужно взломать онлайн игру.
Для этого необходимо изучить протоколы связи Вашего клиента с сервером, перехватить пакеты, расшифровать их и подменить другими (своими).
Второй вариант проще, но менее надёжен. Полоска жизни это пиксели на определённого цвета на экране, считайте их и при изменении цвета получите изменение жизни. Т.е. Ваша программа должна мониторить с высокой частотой определённое место на экране.

Совет: как таковая Ваша цель не оправдает средства разработки. Если конечно не учитывать знания полученные при её достижении. Ну и если у Вас нет платёжеспособного заказчика :)
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694575
alekseiryzhakov26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В первую очередь я хочу сказать, спасибо всем кто откликнулся на мое сообщение. Теперь я постараюсь ответить каждому из вас. Итак, что касательно предложения по использованию, "ArtMoney", то это конечно старый способ вскрытия игрушек. Но, кажется, я говорил, что узнать какое значение отвечает за события счетчика жизней это половина задачи, вторая половина как это обработать в своей программе. Взламывать я не чего не собираюсь, опять же, как уже было сказано, меня интересуют хотя бы три игры, "Unreal Tournament", "Star Wars BattleFront" или та же "Counter Strike". То есть, например, в момент игры в "Unreal Tournament" мой персонаж получает ранение, изменяется количество жизней, моя программа это определяет и записывает в свое окно. Что касается метода мониторинга самого экрана в момент игры, то я пребывал данный способ, минус его в том, что он не очень стабилен. К примеру, может быть разная цветовая гамма или положение самого интерфейса игры. Лично я думаю о том, что бы отловить с помощью, "OllyDbg" или "ArtMoney" какие процессы происходят в момент убавления жизней и дальше искать способ как взаимодействовать с этими процессами в своей программе. По сути надо просто, что бы программа реагировала на изменения счетчика жизней, в какой ни будь из выше упомянутых игр.
Сама цель данной задачи интересует меня самого, просто я интересуюсь программированием для сетевых шутеров. И ищу различные способы взаимодействия с ними.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694597
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жырный ТониБедный Иноз, как ты всё это тепришь?и не говори...
я, будь бы модером программирования - всех бы зобанил бы,
пока бы экзамена по хацклелю не сдали бы.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694778
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNя, будь бы модером программирования - всех бы зобанил бы,
пока бы экзамена по хацклелю не сдали бы.
Кстати, на правах офф-топика: какую книгу можно бы взять для изучения Haskell ("Структура и интерпретация компьютерных программ" один раз прочитана)?
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694791
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractionZyK_BotaNя, будь бы модером программирования - всех бы зобанил бы,
пока бы экзамена по хацклелю не сдали бы.
Кстати, на правах офф-топика: какую книгу можно бы взять для изучения Haskell ("Структура и интерпретация компьютерных программ" один раз прочитана)?

все упражнения из раздела 3.5 прорешал? (именно после этого раздела - я решил изучить хацкель)
ну и не советник я на счет книг, так как прочел только Real World Haskell

но в этой книге - очень многого нет.
большинство вещей узнал за 3 года чтения Russian Lambda Planet
ну и неоднократно, встречался с проблемой(обычно по типизации) - шел на лор, и мне там все подробно разъясняли. если на разъясняли там - то шел на слеш дот, а там уж точно помогут, даже с самой нестандартной ситуацией.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694952
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNЖырный ТониБедный Иноз, как ты всё это тепришь?и не говори...
я, будь бы модером программирования - всех бы зобанил бы,
пока бы экзамена по хацклелю не сдали бы.

надо, видимо, экзамен по русскому ввести.

зААААААбанил
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694961
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekseiryzhakov26В первую очередь я хочу сказать, спасибо всем кто откликнулся на мое сообщение.
...
И ищу различные способы взаимодействия с ними.

а лицензионные условия оных Вы читали? Что там, в условиях, написано про способы взаимодействия с ними?
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694963
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizзААААААбанил
я сначала испугался, и осмотрелся. но только потом понял, что это ты мое "зобанил" поправил
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694970
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автордальше искать способ как взаимодействовать с этими процессами в своей программе.
я все ловлю на лету, но тут не понял, что имелось ввиду?
после убавления жизни, жизнь добавить?

Инойз, мне шото подозрительно это все
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694979
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizавтордальше искать способ как взаимодействовать с этими процессами в своей программе.
я все ловлю на лету, но тут не понял, что имелось ввиду?
после убавления жизни, жизнь добавить?

Инойз, мне шото подозрительно это все
а что плохого в том, что развлекается человек?
хочет соседа по общаге в контру обыграть
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694985
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а шо плохого с поиском нестандартных способов взаимодействия с базой данных из банка?
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37694994
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizа шо плохого с поиском нестандартных способов взаимодействия с базой данных из банка?игрушки - это вам не банки.

может он свои умения применит - для защиты банковских систем.
а для начала, начнет изучение защиты компьютерных систем - со взлома игрушек.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37695259
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNя, будь бы модером программирования - всех бы зобанил
Поэтому тебе модерилку никто не доверит!
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37695500
Soldat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractionZyK_BotaN...
Кстати, на правах офф-топика: какую книгу можно бы взять для изучения
Haskell ("Структура и интерпретация компьютерных программ" один раз прочитана)?
в качестве офтопа.
А если не секрет, почему именно Haskell, чем он такой особенный,
в контексте данной задачи?
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37695506
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoldatAbstractionпропущено...

Кстати, на правах офф-топика: какую книгу можно бы взять для изучения
Haskell ("Структура и интерпретация компьютерных программ" один раз прочитана)?
в качестве офтопа.
А если не секрет, почему именно Haskell, чем он такой особенный,
в контексте данной задачи?
в контексте данной задачи - ничем.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37695687
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekseiryzhakov26Здравствуйте! Хочу задать вот такой вопрос: Надо написать программу которая будет перехватывать или определять событие которое происходит в компьютерной игре. В общем смысле я хочу понять каким способом в своей программе можно определить изменение событий считчика жизней в компьютерных играх. По сути взять к примеру, "Unreal Tournament", "Star Wars BattleFront" или "Counter Strike".
Я понимаю что нужно первым делом определить то или иное действие когда происходят какие либо события с счетчиком жизней в игре. Но вот какое, и что не менее сложное как это обработать своей программой?
В 3D action-ах ведущий своё наследие от Quake зачастую предусмотрена консоль.
Разработчик её использовал для отладки игры и заложил много пасхальных яиц в том
числе безсмертие, антигравитацию, наличие всего арсенала оружия и т.п. Это разумно
т.к. лучше официально разрешить особо воинствующим фанатам включать god mode
чем создавать повод для хака своего драгоценного-пантентовано-защищённого двигла.
Гуглите console commands для каждой игры. Авось повезёт. Это для single-player.

Для мультиплеера сложнее т.к. Учёт жизней идёт на сервере а клиент всего-лишь
отображает картинку. Включить god или all ammo для мульти-* будет либо невозможно
либо бесполезно. Если вы найдёте программу (cheat) которая видоизменяет
протокол взаимодействия между сервером и клиентом так чтобы иммитировать
безсмертие для вас то вас всё равно уличат и забанят. Но обиден не бан
а потеря доверия друзей если вы с ними будете играть.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37695861
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
tchingizавтордальше искать способ как взаимодействовать с этими процессами в своей программе.
я все ловлю на лету, но тут не понял, что имелось ввиду?
после убавления жизни, жизнь добавить?

Инойз, мне шото подозрительно это все да не переживай.
автор видать просто не в курсе что в онлайн-играх жизни добавляются не со стороны клиента, а со стороны сервера :)
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37695945
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNя, будь бы модером программирования - всех бы зобанил бы,
пока бы экзамена по хацклелю не сдали бы.ух ты, какой суровый!
Soldatв качестве офтопа.
А если не секрет, почему именно Haskell, чем он такой особенный,
в контексте данной задачи?ТС не задавал бы дурацких вопросов.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696039
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечZyK_BotaNя, будь бы модером программирования - всех бы зобанил бы,
пока бы экзамена по хацклелю не сдали бы.ух ты, какой суровый!

Тогда меня можно сразу банить. Я уже год не могу Хаскель осилить. Наверное
беда в том что задач нету пот этот специфичный язык.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696052
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonбеда в том что задач нету пот этот специфичный язык.
заблуждение.
если не учитывать "недоделанность" хаскельных библиотек, то это язык общего назначения.

если решаешь задачу не завязанную на конкретные технологии, которые плохо поддерживаются хаскелем, то хаскель хороший выбор.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696070
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNесли решаешь задачу не завязанную на конкретные технологии, которые плохо поддерживаются хаскелем, то хаскель хороший выбор.Мне нравится эта фраза.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696075
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlZyK_BotaNесли решаешь задачу не завязанную на конкретные технологии, которые плохо поддерживаются хаскелем, то хаскель хороший выбор.Мне нравится эта фраза.
это правда.
большинство либ на хакадже - сырые.
кто-то пишет для своего проекта - и выкладывает.
и больше никто не тестирует и не допиливает (
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696076
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl, зачем же так... меня тоже зацепило, но не напрягло ведь... ну, быстро отвечал человек
а так:
авторесли решаешь задачу, не завязанную на конкретные технологии, которые плохо поддерживаются хаскелем... то хаскель - хороший выбор
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696078
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMWhite Owl, зачем же так... меня тоже зацепило, но не напрягло ведь... ну, быстро отвечал человек
а так:
авторесли решаешь задачу, не завязанную на конкретные технологии, которые плохо поддерживаются хаскелем... то хаскель - хороший выбор
нет. тут ты не прав. не хаскелем, а библиотеками.
язык - удобен для любой задачи. но если либа кривая, то не лучше ли взять более плохой язык, но с более хорошей либой.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696085
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNWhite Owlпропущено...
Мне нравится эта фраза.
это правда.
большинство либ на хакадже - сырые.
кто-то пишет для своего проекта - и выкладывает.
и больше никто не тестирует и не допиливает (
вернее я немного не правильно выбрал акцент на глчности.
не либы в основном не глючные, но есть фатальный недостаток: "нет документации"

если для дотнета или жавы я что-угодно нагуглю за 5 мин, то в хаскеле придется изучать исходники либы и экспериментировать, придется обращаться на слешдот.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696113
alekseiryzhakov26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм... Опять недопонимание моего вопроса или я не так выражаю свои мысли. Почему-то заместо реальной помощи, меня упрекают в попытке взломать многопользовательские сервера игр или тому подобное. Как уже было сказано ранее я не занимаюсь взломом или жульничеством в сетевых, многопользовательских играх. Меня интересует сама возможность взаимодействия с ними, то есть в данном случаи, я просто хотел спросить как написать такую программу, которая будет определять изменения жизней и как ни будь реагировать на это. Если говоря еще проще, то играю я в "Unreal Tournament" или "Star Wars BattleFront", получаю урон, в последствии чего отнимается энное количество игровых жизней, а моя программа определяет это событие и дает мне знать об этом. Если тема совсем гиблая, то в таком случаи обращаюсь к модераторам данного раздела закрыть ее или подскажите хотя бы где мне смогут помочь в моей проблеме?
Проведя небольшое время в самостоятельных работ за отладчиком и ArtMoney, я вроде бы нашел то самое значение которое отвечает за игровые жизни. Теперь как бы мне это в своей программе определить?
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696123
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну долго еще объяснять-то?
Сетевые игры (даже если клиент у вас на локальной машине установлен) - не реагируют на любые ваши локальные изменения... Анализируйте трафик...
Charles изучите, хотя бы, раз начинающий в этом вопросе...
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696155
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNmaytonбеда в том что задач нету пот этот специфичный язык.
заблуждение.
если не учитывать "недоделанность" хаскельных библиотек, то это язык общего назначения.

если решаешь задачу не завязанную на конкретные технологии, которые плохо поддерживаются хаскелем, то хаскель хороший выбор.
Я неверно выразился. У меня лично нет пока задач. А так вобщем-то cool )))
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696160
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekseiryzhakov26Проведя небольшое время в самостоятельных работ за отладчиком и ArtMoney, я вроде бы нашел то самое значение которое отвечает за игровые жизни. Теперь как бы мне это в своей программе определить?
Или ты слишком мало провёл времени за отладчиком или не
понимаешь своей-же постановки. Что ты хочешь сделать
за "свою программу" ? Какой функционал в ней должен
быть?

Не спеши с ответом. Подумай. Правильная постановка
это на 50% решённая задача.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696166
alekseiryzhakov26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это уже становится страшно интересно, то есть меня пугает данная ситуация. Опять не понимание. Повторюсь что не кто кроме вас и других ответивших не говорил о перехвате событий посланных с сервера. Хотя в чем-то вы и правы, меня и интересует полученная информация. Возьмем к примеру, "Unreal Tournament", в одиночном режиме или в сетевом на экране отображается информация касательно количеству жизней у моего персонажа. Вот эта информация меня и интересует, то есть если на экране интерфейса показано 100 жизней, программа простаивает. Но если отнимется энное количество жизней, то в таком случаи программа это запишет в свое окно. Ну, как бы оно не было мне удалось с помощью, "ArtMoney" найти значение отвечающее за игровые жизни. Подскажите мне хотя бы как мне теперь отловить и среагировать на это событие в своей программе? Буду очень благодарен!
По сути тема не такая уж и сложная, но результаты ее выполнения меня пугают, все же меньше чем то что меня не как не кто не может понять.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696171
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Экий ты настырный читер. Давай так. Ты напиши софт. И приходи с исходником. Обсудим.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696205
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekseiryzhakov26,

уже посоветовали - учи албанскейХацкель.
а то ZyK_BotaN (без 5 мин. модератор) тебе банца выпишет, и усё, "не поминайте лихом"
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37696294
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekseiryzhakov26... просто я интересуюсь программированием для сетевых шутеров. И ищу различные способы взаимодействия с ними.Тогда, наверное, надо начать с изучения C, C++, потом алгоритмы компюьтерной графики - линии, плоскоси, полигоны в пространстве, потом написать свой маленький движок для игры, ну и т.д.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37697064
alekseiryzhakov26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И снова здравствуйте! Потихоньку продвигаясь в данной области удалось набросать несложный программный код, тот же как раз и делает что мне нужно. Почти... Но, поясню все детальнее. Я взял для эксперимента компьютерную игру, "Unreal Tournament 2004". Пропустив ее через, "ArtMoney" я нашел якобы нужное мне значение и его адрес, то что отвечает за счетчик жизней в игре. Извлекаю адрес самого значения, далее пишу простой код для поиска и прочтения этого значения в запущенной игре. Собственно вот предполагаемый адрес нежного значение: 05F7AC74, само же оно равно 4 Байтам. А вот и сам код который я использую для подключения к процессу и прочтению нужного мне значения:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
var
  GameScreen, ActiveWindow: HWND;
  Buffer: Byte;
  ProcessIdentifier, ProcessHandle, Temp: Cardinal;
begin
  GameScreen := FindWindow(nil, PChar('Unreal Tournament 2004'));
  if GameScreen <> 0 then
  begin
    //Так как информацию отображаем в всплывающем сообщении, нет нужны проверять фокус на окне игры
    {ActiveWindow := GetForegroundWindow;
    if ActiveWindow = GameScreen then
    begin}
      GetWindowThreadProcessId(GameScreen, @ProcessIdentifier);
      ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessIdentifier);
      ReadProcessMemory(ProcessHandle, Ptr($05F7AC74), @Buffer, 1, Temp);  //Считываем нужное значение по указанному адресу
      ShowMessage(IntToStr(Buffer));  //Собственно отображаем нужную информацию
    {end;}
  end
  else
  begin
    ShowMessage('Окно игры не найдено');
  end;
end;


Теперь о плохом, первое и самое неприятное это то, что как я понял при каждом новом запуске игры адрес значения меняется. По этому поиск нужного значение по его адресу сильно затрудняется. Второе, есть еще один неприятный момент, когда в игре наступает полная потеря жизней, то в данном значении за место 0 прописывается на половину случайное десятизначное число, на половину так как не меняется первый кусок числа, 42949672** крайнее две цифры как я понял разные время от времени. И еще после этого события значение так и остается равным этому десятизначному числу. Даже прочесывая игру через, "OllyDbg" результат неутешительный. Хм... Может быть я конечно что-то путаю, поправьте! Хотя сейчас у меня есть мысли что все же я нахожу не то что нужно. Значит есть еще один адрес и значение в памяти игры который отвечает за отображение информации касательно счетчика жизней.
Все же как я уже начинаю понимать, довольна проблематично и сложно получить информацию касательно игровых жизней.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37697082
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekseiryzhakov26,

почитай про защищенный режим. таненбаума например
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37697093
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNalekseiryzhakov26,

почитай про защищенный режим. таненбаума например
это я на счет изменения адреса.

а по поводу "42949672**", тут ничего удивительного, просто старшие биты выставляются в 1(наверное 3 байта)
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37697097
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNZyK_BotaNalekseiryzhakov26,

почитай про защищенный режим. таненбаума например
это я на счет изменения адреса.

а по поводу "42949672**", тут ничего удивительного, просто старшие биты выставляются в 1(наверное 3 байта)
или, как вариант, делается отрицательным.
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37705658
alekseiryzhakov26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так немного разобрался в сложности ситуации, то есть иными словами есть зацепки. Касательно смены адреса значения я разобрался, суть в следующем... Во первых, я обращал внимание не та тот адрес, искомая для меня информация хранилась сразу по трюм адресам, которые в свою очередь также при каждом новом запуске игры меняются. Для примера приведу один из них, вот: 05843D00. Тут все довольно просто, сам адрес состоит из восьми символов, из которых изменяются только четыре символа. Для простоты усвоения делим адрес на три части, 0 5843 D00. Первая часть состоит из одного символа, то есть всегда равна нулю. Вторая часть все время видоизменяется, то есть как уже было сказано при каждом новом запуске происходят изменение/замена символов, собственно это и есть полиморфный геморрой! Ну, а третья часть состоит из трем символов, которые подобной первой части некогда не меняются. Так вот отталкиваясь от этих проверенных предположений, можно в каком-то смысле облегчить себе задачу. То есть, как я понимаю надо сделать что-то вроде поиска в памяти запущенного процесса, где искать будем нужный адрес, отталкиваясь от штатных начальных и конечных символов. Но вот тут, то собственно и встает вопрос, касательно поиска. Ведь функции FindProcessMemory нет! А считывать весь регион виртуальной памяти очень проблематично и затратно касательно ресурсов самой системы, что и еще в последствии может привести к краху.
Я вот тут настрочил небольшой код для проверки проверки, определения является ли тот или иной адрес искомым или нет. Сам код ниже. Но вот как искать в памяти в момент работы программы, вот тут я застрял.
Проверка на валидность, на примеры работы с обычным текстом:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
var
  Pattern: string;
  BlockA, BlockB, BlockC: Integer;
begin
  Pattern := Edit1.Text;
  //Проверка размера, хотя она скорее всего необязательна...
  if Length(Pattern) = 8 then
  begin
    BlockA := Pattern[1];  //Первое часть, всегда равна 0
    BlockB := Copy(Pattern, 2, 4);  //Вторая часть, случайный порядок
    BlockC := Copy(Pattern, 6, 3);  //Третья часть, всегда равна D00
    //Сверяемся со штатными символами
    if (BlockA = '0') and (BlockC = 'E24') then
    begin
      ShowMessage(Pattern + ' Сходится');
    end
    else
    begin
      ShowMessage(Pattern + ' Не сходится');
    end;
  end
  else
  begin
    ShowMessage('Расхождения в размере');
  end;
end;


Вы описанный программный код работает безупречно, но чем его дополнить что бы можно было искать адреса в памяти. Хотя, не правильно сказал, как реализовать поиск в памяти запущенного процесса?
...
Рейтинг: 0 / 0
Как перехватить событие из компьютерной игры
    #37713658
alekseiryzhakov26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все же как же считать значение если его адрес является динамическим? Поискав по просторам всемирной паутины я наткнулся на небольшую статью, в ней описывался метод написания тренера для компьютерной игры. Ознакомившись с данной документацией я решил попробовать этот метод... Скачал утилиту, TSearch нашел с ее помощью динамические адреса указывающие на счетчик жизней, как уже я говорил ранее их всего три. Так вот Делаю все как по инструкции, в верхнем меню TSearch я выбираем раздел Auto Hack - Enable debugger, далее выбираю AutoHack window, в открывшемся окне в верхнем меню выбираем Set Breack Point, где в поле Address вписываю один из найденных адресов, 0B47AE24, устанавливаю Read/Write, и жму на кнопке Set. Далее, возвращаемся в игру изменяем количество игровых жизней и сворачиваю игру, возвращаемся в окошко AutoHack window наблюдаю сделующее:
автор10156AEC: mov ecx,[eax]
10126F43: mov [eax],ecx
Собственно тут я и застрял, то есть если отталкиваться от указанной ниже статьи, в регистр eax функцией mov должно помещаться какое-то значение... Но у моем случаи я не чего не наблюдаю или я что-то не правильно делаю? В таком случаи поправьте.
Ссылка на статью: http://www.gamenarod.ru/showthread.php?t=103
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как перехватить событие из компьютерной игры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]