Создаем internal мультихак, на примере CryEngine3 SDK [Search]
Итак, мы вооружились всеми нужными инструментами и поверхностным пониманием того, что будем делать. Теперь, можно приступать к самому интересному.
В этой части, перед нами стоит задача найти SSystemGlobalEnvironment и указатель на I3DEngine.
Открываем PeTools и делаем полный дамп. Далее, запускаем IDA PRO и выбираем "новый проект". Открываем наш дамп игры. Выбираем
IDA PRO, предложит указать расположение 3 библиотек. Выбираем место установки и нажимаем ОК. Дождёмся, пока IDA проанализирует файл. Вы услышите звуковой сигнал, по окончании. Также, можно будет видеть надпись "idle" (в простое).
После окончания анализа, открываем список всех строк. Через меню View или нажав Shift+F12.
Жмем Ctrl+F и вводим "ai_CompatibilityMode". Двойной клик по строке и оказываемся тут
Выделяем строку и жмем 'X', в открывшемся окне перекрестных ссылок, нажимаем ОК. Оказываемся тут
dword_18C23DC это и есть адрес нашего SSystemGlobalEnvironment = 0x18C23DC. Можете переименовать сразу (выделив и нажав 'N' ), можете оставить так. Кому как удобнее. Самое главное мы нашли. Теперь нам нужно найти I3DEngine и SetPostEffectParam. Повторяем шаги с поиском SSystemGlobalEnvironment , только теперь вводим "Dof_Active" в строке поиска.
Нашли, выделили, перешли в окно перекрестных ссылок, выбираем первую и жмем ОК.
Выделяем, жмем 'F5', для перехода к псевдокоду. Видим такую запись.
Выделяем смещение '+136', жмем ПКМ, переводим в HEX. И получаем SSystemGlobalEnvironment + 0x88 это и есть смещение до I3DEngine
В итоге имеем:
SSystemGlobalEnvironment = 0x18C23DC
SSystemGlobalEnvironment + 0x88 = I3DEngine
Продолжение следует...
-
4
-
3
0 Комментариев
Рекомендуемые комментарии
Комментариев нет