Сейчас на форуме: cppasm, asfa (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Отловить вызов меню в игре
Посл.ответ Сообщение

Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 июля 2016 11:42
· Личное сообщение · #1

Есть игра(Flatout 2 ultimate carnage).
Есть главное меню где есть разделы меню Одиночная игра, Сетевая, Настройки, так вот нужно отследить функцию которая вызывается при открытии этих разделов.(Открытие происходит на клавишу ENTER)

Заранее спасибо за ответы.

п.с. Отследить функцию мне нужно для того чтобы вырезать главное меню и при старте игры сразу запускался раздел который мне нужно
п.с. Я только начал заниматься реверсом...



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 24 июля 2016 13:22
· Личное сообщение · #2

thomasrz пишет:
Я только начал заниматься реверсом...

Где?



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 24 июля 2016 16:08
· Личное сообщение · #3

Омг.Распаковывать надо дата файлы и править скрипты, но я не вижу смысла убирать меню в игре.Что за бред ?

-----
TEST YOUR MIGHT




Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 июля 2016 17:33
· Личное сообщение · #4

unknownproject пишет:
Омг.Распаковывать надо дата файлы и править скрипты, но я не вижу смысла убирать меню в игре.Что за бред ?

Зачем там агрессивно то сразу?
Если написал - значит нужно
А по сути я разрабатываю мод и стандартное меню там не нужно



Ранг: 1.2 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 31 октября 2016 01:06 · Поправил: nicknamesarehistory
· Личное сообщение · #5

Контекст непонятен. Может поможет:

1. Инжектируешь DLL (CreateRemoteThread)
2. Ставик key hook (нажатия клавиш отлавливаешь через direct input proxy или что там используется).
4. Любым отладчиком подключаемся к процессу. Имея шпиона в процессе ставим в его DLL break point на обработчике нажатия. Теперь ты поймал нажатие кнопки, дальше шаг за шагом вырубай свое меню, подменяй другим и все прочее.

Если игра скриптовая (или движок помешан на скриптах), лови сразу три задачи. Пишешь script hook: во время загрузки подменяешь скрипт, отвечающий за менюшки гуишки (его еще надо найти и декомпилировать). Про интерактивную отладку можно конечно забыть.



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 31 октября 2016 01:58 · Поправил: dosprog
· Личное сообщение · #6

) Что-то какие-то немного бешеные пошли новозареганные юзер(ы).
Это к холодной зиме, 100%.

--Добавлено--
thomasrz, а игра чем-то упакована?
Вон выше намекнули, как надо.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 31 октября 2016 02:38 · Поправил: difexacaw
· Личное сообщение · #7

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

-----
vx




Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 31 октября 2016 13:59 · Поправил: unknownproject
· Личное сообщение · #8

nicknamesarehistory пишет:
декомпилировать

Декомпилируйте скрипты мафии 3 от ангар 13, которые просто пожали скриптовое двигло второй мафии zlib'ом.

И е-мое.Для движка спешиал давно есть анпакеры.Лет так 12 уже.Открытые там скрипты.А бинарники современных игр содержат только интерпретаторы скриптов движка в своем коде, так что максимум - это юзермодные функи для работы с файлами в теле.

Хуки - это погань.Руки отрывать надо за такие решения.

-----
TEST YOUR MIGHT




Ранг: 1.2 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 11 ноября 2016 22:14 · Поправил: nicknamesarehistory
· Личное сообщение · #9

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

Хуки - это погань.Руки отрывать надо за такие решения.


Весьма интересное замечание: давно стал замечать это. Тогда предоставьте цепочку инструментов, которые нужно использовать. Я написал, как это удалось сделать со многими играми, но "трекнуть и найти память", как замечено выше, это слишком абстрактно. Тулзы и действия. ? Будет интересно, особенно если упомяните, с какой игрой и как получилось, попробовать (допустим совсем не понятно что за скриптовый язык в движке вообще).




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 14 ноября 2016 14:41
· Личное сообщение · #10

nicknamesarehistory

Этот чувак видимо в своей вселенной обитает, вот недавно посмотрел я анпак утилиту которая ложит всю ось на каждом втором депаке..

Реально же это делается иначе - не ищутся и опробуются инструменты, а используются базовые(отладчик) и компилятор. При должном знании и опыте работы с ними любая задача решается эффективно и быстро. Но это не для юзеров, которые посмотрели видос по крэкингу пэйнта и решили что могут.

-----
vx



 eXeL@B —› Вопросы новичков —› Отловить вызов меню в игре
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати