(\ /) _ ($ __ $ ) _ (\ /)
-
Автор темы
- #1
Всем привет!
Я знаю что уже есть такая тема, но у меня немного другая информация. Прошу простить, но сделать это давно хотел, руки никак не доходили, да и давно просили разобрать. ( Игра:" Polygon ", Unreal engine 5.0.3 ( 2B ? 2B ? 55 ? 45 ? )
Первое. Нам понадобится дампер ( советую использовать
Продолжим, дампер у нас появился, но его нужно обновить. Для его работы нам нужен NamePoolData и ObjObjects.
Вторая часть.
Нам нужно сдампить игру, дамплю я привычным мне
Запускаем, выдаст ошибку, просто игнорируем. Запускаем драйвера для дампера, после дампим саму игру. Затем нам нужен софт
Третья часть.
Жмем SHIFT+12, как только генерация строчек окончена, жмем в пустое место правой кнопкой мыши, вылезет окно, жмем "Setup".
После выбираем Unicode C-Style ( 16 bits ).
Ознакомительная часть закончена, приступаем к работе.
Чтобы найти GObjects нам нужно в строчках написать:" A_AccentGrave ". Переходим по первому результату.
Жмем "X" и переходим опять же по первому результату.
GObjects всегда начинается на:" 48 8D 0D ".
Ищем что-то похожее на это:
В случае же с полигоном, нам нужно очень долго идти вверх, пока не найдем
После выделяем адреса с 48 8D 05 ? ? ? ? до следующей функции, т.е. еще выделяем sub_ endp, после shift+ctrl+s, create code pattern from selection.
Поздравляю вас, мы нашли GObjects.
Теперь ищем FNamePoolData. ( почти всегда начинается с 48 8D 05 )
Опять же в строчках ищем:" ERROR_NAME_SIZE_EXCEEDED ".
Скролим вниз пока не увидим:
Выделяем с 48 8D 05 ? ? ? ? по C6 05 ? ? ? ? (
Крайняя часть, заходим в проект с дампером, engine.cpp ( 404 строчка для полигона ).
Меняем на то что у вас получилось, не забываем про цифры, что идет после "\" считается одной цифрой, до такого-же знака обратного деления.
Т.е. "\x00\ считается как за одну цифру и не забываем что в программирование идет счет с 0, а не с единицы, удачи всем!
( Извиняюсь, что так долго не было от меня полезной инфы, пишите если хотите, чтобы разобрал еще игры, большое спасибо азязису за мотивацию )
Я знаю что уже есть такая тема, но у меня немного другая информация. Прошу простить, но сделать это давно хотел, руки никак не доходили, да и давно просили разобрать. ( Игра:" Polygon ", Unreal engine 5.0.3 ( 2B ? 2B ? 55 ? 45 ? )
Первое. Нам понадобится дампер ( советую использовать
Пожалуйста, авторизуйтесь для просмотра ссылки.
).Продолжим, дампер у нас появился, но его нужно обновить. Для его работы нам нужен NamePoolData и ObjObjects.
Вторая часть.
Нам нужно сдампить игру, дамплю я привычным мне
Пожалуйста, авторизуйтесь для просмотра ссылки.
. Но, eac нам не даст запустить драйвер, поэтому идем в папку игры, после идем в моем случаи в папку "POLYGON/Binaries/Win64" ищем exe файл ( POLYGON-Win64-Shipping.exe ). Запускаем, выдаст ошибку, просто игнорируем. Запускаем драйвера для дампера, после дампим саму игру. Затем нам нужен софт
Пожалуйста, авторизуйтесь для просмотра ссылки.
, запускаем дамп с помощью иды, если вас просит длл ( xaudio2_9redist.dll ), то идем по этому пути:"%папка_игры%\Engine\Binaries\ThirdParty\Windows\XAudio2_9\x64", после ждем полной загрузки (
Пожалуйста, авторизуйтесь для просмотра ссылки.
).Третья часть.
Жмем SHIFT+12, как только генерация строчек окончена, жмем в пустое место правой кнопкой мыши, вылезет окно, жмем "Setup".
После выбираем Unicode C-Style ( 16 bits ).
Ознакомительная часть закончена, приступаем к работе.
Чтобы найти GObjects нам нужно в строчках написать:" A_AccentGrave ". Переходим по первому результату.
Жмем "X" и переходим опять же по первому результату.
GObjects всегда начинается на:" 48 8D 0D ".
Ищем что-то похожее на это:
Код:
sub_ proc near
sub rsp, 28h
lea rcx, dword_
call sub_
lea rcx, sub_
add rsp, 28h
jmp sub_
sub_ endp
Пожалуйста, авторизуйтесь для просмотра ссылки.
. После выделяем адреса с 48 8D 05 ? ? ? ? до следующей функции, т.е. еще выделяем sub_ endp, после shift+ctrl+s, create code pattern from selection.
Поздравляю вас, мы нашли GObjects.
Теперь ищем FNamePoolData. ( почти всегда начинается с 48 8D 05 )
Опять же в строчках ищем:" ERROR_NAME_SIZE_EXCEEDED ".
Скролим вниз пока не увидим:
Код:
loc_
cmp cs:byte_
jz short loc_
lea rax, unk_
jmp short loc_
Пожалуйста, авторизуйтесь для просмотра ссылки.
). Повторяем так-же как и с GObjects.Крайняя часть, заходим в проект с дампером, engine.cpp ( 404 строчка для полигона ).
Меняем на то что у вас получилось, не забываем про цифры, что идет после "\" считается одной цифрой, до такого-же знака обратного деления.
Т.е. "\x00\ считается как за одну цифру и не забываем что в программирование идет счет с 0, а не с единицы, удачи всем!
( Извиняюсь, что так долго не было от меня полезной инфы, пишите если хотите, чтобы разобрал еще игры, большое спасибо азязису за мотивацию )