#1 08-06-2015 11:22

DaftP
Registered: 12-04-2015
Posts: 4

Отладчик. Адреса. Функции.

Хочу узнать, как вы ищите адреса функций. Например как найти адрес функции "Перезарядка" ну или "Установка анимации". Если можно, то дайте наглядный пример.



Заранее спасибо good

Offline

#2 08-06-2015 21:59

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Отладчик. Адреса. Функции.

берем IDA Pro, качаем базу нужной игры, смотрим, где примерно вызывается искомая функция (иногда в лоб - если известны родственные функции, то можно искать в них, иногда по косвенным признакам - например, используемым строкам для вывода или чтения из файла), дальше либо разбор кода, либо запуск игры под отладчиком, установка точек останова и трассировка кода. часто в поиске помогает знание того, что нужная функция связана с каким-то опкодом из скриптов, например перезарядку можно начать искать с места, где обрабатывается опкод

0331: set_player $PLAYER_CHAR fast_reload 1

анимации аналогично по опкодам типа

0393: actor 215@ perform_animation "POOL_SHORT_SHOT" at 248@ times_normal_rate

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

Offline

#3 10-06-2015 19:17

DaftP
Registered: 12-04-2015
Posts: 4

Re: Отладчик. Адреса. Функции.

Seemann, а можешь объяснить про соглашения вызовов? Как их определять?

Offline

#4 11-06-2015 21:21

Seemann
Registered: 07-08-2006
Posts: 2,155

Offline

Board footer

Powered by FluxBB