Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 3 2 2
Геймдев, моддинг, коддинг Аноним 10/11/23 Птн 11:50:34 914051 1
----2.png 769Кб, 590x787
590x787
Без названия (2[...].jpeg 13Кб, 191x264
191x264
Хочу добавить свою озвучку в игру Spider Man Shattered Dimensions, инструментов моддинга для неë не нашëл, поэтому решил пойти прямым путëм
Кто знает как открыть/взломать файлы pak и dat?
В них лежат модельки, эффекты и главное ЗВУКИ из я хочу заменить, но открыть их не могу кто может их взломать?
Аноним 14/11/23 Втр 01:51:44 914897 2
до появления декодеров находят ресурсы по отправке в соответствующие функции winapi и directx

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

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

затем отслеживаешь взаимодействие с каждым блоком. Среди текстур или текста вряд ли будут лежать звуки, так что методом исключения ты найдёшь нужный фрагмент. Для полноценной проверки нужно будет дождаться обращения к массиву и получить адрес и размер данных внутри блока. Затем хекс редактором или программой скопировать эн байт из массива прямо из памяти игры, и сохранить в отдельный файл. Затем закинуть в adobe audition. Это программа умная и легко распознаёт форматы. Если ты не ошибся, то она позволит прослушать, что ты скопировал

затем задача в том, чтобы восстановить логику распаковки, и разархивировать массив массивов, заменить массив со звуками, и запаковать обратно. Возможно, там захардкодили размер секций или смещения во избежание моддинга, так что может начать вылетать игра и потребуется небольшой патч
так или иначе, это куча реверс инжиниринга
Аноним 14/11/23 Втр 02:19:11 914908 3
подумал-подумал, а инфа-то поверхностная

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

чтобы понять, какой объем данных является отдельным массивом, нужно смотреть, как много данных пишется из каждого файла.
что-то типа файл размером 1234 может быть поделён на три массива размером 234, 400 и 600, и записан в три разные региона памяти. Так вот каждую запись проверять нужно отдельно. Как?
cheat engine и функция отладки на уровне ядра.
Эта штука нестабильна и иногда вызывает BSOD, синий экран со смайликом на десятке. Перезагружает пк и срывает всю работу. Однако это происходит не всегда, и результаты получить можно.

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

Но может быть так, что адреса пробросает заранее, и ты ничего не получишь. нестабильный вариант способен сразу целую карту памяти мониторить и при этом игра не начнёт очень сильно тормозить. так что нестабильный вариант быстрее и удобнее. Однако и левых результатов будет дофига, так что сверяй адрес обращения с размером блока, который был скопирован из того, что вернул readfile

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

важно, что в win10 по умолчанию включена изоляция ядра и отладка в нём будет недоступна, а значит это нужно выключить и перезапустить комп
а еще за драйвер чит энжина в играх типа батлфилд можно бан получить, даже если он бездействует, так что после работы лучше обратно выключить у чит энжина отладку ядра и включить изоляцию чтоб потенциальные вирусы не соблазнять

Ну, собственно, и вся хуйня. Желающему постигнуть моддинг этого хватит для уверенного старта
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов