PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Софт для PS3 (https://www.pspx.ru/forum/forumdisplay.php?f=300)
-   -   Bruteforce Save Data/Save Resigner - Программы для работы с сохранениями (Save) (https://www.pspx.ru/forum/showthread.php?t=106973)

shulgovskiy 21.06.2023 22:14

Нужна помощь по редактированию сейвов к игре Splinter Cell Blacklist NPEB01379. При редактировании любого значения в декриптованном файле SC6_SAVE.SAV и обратной зашифровке игра пишет, что сохранение повреждено. Пробовал и с помощью Apollo и с помощью Bruteforce Save Data. Нужно в расшифрованном файле SC6_SAVE.SAV заменить вот эти байты 6e 44 1b df 00 00 00 00 63 07 3d 06 00 00 00 00 67 c6 20 b1 00 00 00 00, вот этими 6E 44 1B DF 00 00 00 04 00 00 00 01 63 07 3D 06 00 00 00 04 00 00 00 01 67 c6 20 b1 00 00 00 04 00 00 00 01, то есть присвоить переменным 6E441BDF, 63073D06, 67C620B1 значения 00 00 00 04 00 00 00 01 вместо нулей. Может быть в игре встроена своя проверка сохранений и в файле SC6_SAVE.SAV где-то хранятся данные о размере файла и ещё что-то. Либо файл param.pfd неправильно заполняется при шифровании. Я в редактировании сохранений новичок, просьба палками не бить.

Serp87 21.06.2023 22:22

Цитата:

Сообщение от shulgovskiy (Сообщение 1271447)
Нужна помощь по редактированию сейвов к игре Splinter Cell Blacklist NPEB01379. При редактировании любого значения в декриптованном файле SC6_SAVE.SAV и обратной зашифровке игра пишет, что сохранение повреждено. Пробовал и с помощью Apollo и с помощью Bruteforce Save Data. Нужно в расшифрованном файле SC6_SAVE.SAV заменить вот эти байты 6e 44 1b df 00 00 00 00 63 07 3d 06 00 00 00 00 67 c6 20 b1 00 00 00 00, вот этими 6E 44 1B DF 00 00 00 04 00 00 00 01 63 07 3D 06 00 00 00 04 00 00 00 01 67 c6 20 b1 00 00 00 04 00 00 00 01, то есть присвоить переменным 6E441BDF, 63073D06, 67C620B1 значения 00 00 00 04 00 00 00 01 вместо нулей. Может быть в игре встроена своя проверка сохранений и в файле SC6_SAVE.SAV где-то хранятся данные о размере файла и ещё что-то. Либо файл param.pfd неправильно заполняется при шифровании. Я в редактировании сохранений новичок, просьба палками не бить.

А что ты хочешь сделать этим редактированинием ? Что оно даст ?

shulgovskiy 21.06.2023 22:24

Цитата:

Сообщение от Serp87 (Сообщение 1271449)
А что ты хочешь сделать этим редактированинием ? Что оно даст ?

Откроет шмотки, которые из-за отключённых серваков легальным способом теперь не открыть.

Serp87 21.06.2023 22:26

Цитата:

Сообщение от shulgovskiy (Сообщение 1271450)
Откроет шмотки, которые из-за отключённых серваков легальным способом теперь не открыть.

Где ты брал эти смещения ? Ссылку в студию , я посмотрю что это за хрень

ErikPshat 21.06.2023 22:37

6e 44 1b df 00 00 00 00 63 07 3d 06 00 00 00 00 67 c6 20 b1 00 00 00 00 - вот эти байты
6E 44 1B DF 00 00 00 04 00 00 00 01 63 07 3D 06 00 00 00 04 00 00 00 01 67 c6 20 b1 00 00 00 04 00 00 00 01 - вот этими :xDD:
И не смущает, что длина разная?

shulgovskiy 21.06.2023 22:42

Цитата:

Сообщение от Serp87 (Сообщение 1271451)
Где ты брал эти смещения ? Ссылку в студию , я посмотрю что это за хрень

Методом очень долгого сравнения множества файлов сохранений, а также сравнения структуры сохранений с пс3 и пк. Эти переменные открывают три вещи - Очки, Ботинки и Перчатки из комплекта Альфа. Вот тут есть сохранение с открытыми перчатками https://gamefaqs.gamespot.com/ps3/67...lacklist/saves от xValor090x (10/27/2021; 367KB). В нём переменной 67C620B1 присвоено значение 00 00 00 04 00 00 00 01. Еще где-то находил с открытыми очками, но не помню где. В нём переменной 6E441BDF было присвоено значение 00 00 00 04 00 00 00 01. Исходя из структуры сохранений с пк версии это те самые переменные, которые нужны.

shulgovskiy добавил 21.06.2023 в 22:42
Цитата:

Сообщение от ErikPshat (Сообщение 1271452)
6e 44 1b df 00 00 00 00 63 07 3d 06 00 00 00 00 67 c6 20 b1 00 00 00 00 - вот эти байты
6E 44 1B DF 00 00 00 04 00 00 00 01 63 07 3D 06 00 00 00 04 00 00 00 01 67 c6 20 b1 00 00 00 04 00 00 00 01 - вот этими :xDD:
И не смущает, что длина разная?

Честно, не смущает)

ErikPshat 21.06.2023 22:42

Цитата:

Сообщение от shulgovskiy (Сообщение 1271453)
В нём переменной 6E441BDF было присвоено значение 00 00 00 04 00 00 00 01.

Не могут 4 байта заменяться 8-ми байтами. Ты где-то ещё 4 байта потерял.

Цитата:

Сообщение от shulgovskiy (Сообщение 1271453)
Честно, не смущает)

Тогда тебе видимо в больничку, как минимум к окулисту :D

shulgovskiy 21.06.2023 23:00

https://disk.yandex.ru/d/1Dm1KjDWTYlr9g вот декриптованный пример с открытыми перчатками, обратить внимание на переменную 67C620B1.
https://disk.yandex.ru/d/okFq7EBpefZAjA вот декриптованный пример с открытыми перчатками и очками, обратить внимание на переменную 6E441BDF и 67C620B1.

shulgovskiy добавил 21.06.2023 в 23:00
Цитата:

Сообщение от ErikPshat (Сообщение 1271455)
Не могут 4 байта заменяться 8-ми байтами. Ты где-то ещё 4 байта потерял.


Тогда тебе видимо в больничку, как минимум к окулисту :D

Почему не могут? Игра же записывает по мере прохождения новые данные и размер файла увеличивается.

ErikPshat 21.06.2023 23:24

Я так поимаю, что на ПК идёт функция 4 байта и значение 4 байта:

6E441BDF 00000000
63073D06 00000000
67C620B1 00000004


На PS3 идёт немного по-другому, после функции 4 байта идёт значение 00000004 00000001.
Или 00000001 идёт как преддверие последующего значения:

6E441BDF 00000004 00000001
63073D06 00000000
67C620B1 00000004 00000001


Нужно тестировать и разбираться.

Цитата:

Сообщение от shulgovskiy (Сообщение 1271456)
по мере прохождения новые данные и размер файла увеличивается

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

shulgovskiy 21.06.2023 23:51

Цитата:

Сообщение от ErikPshat (Сообщение 1271459)
Я так поимаю, что на ПК идёт функция 4 байта и значение 4 байта:

6E441BDF 00000000
63073D06 00000000
67C620B1 00000004


На PS3 идёт немного по-другому, после функции 4 байта идёт значение 00000004 00000001.
Или 00000001 идёт как преддверие последующего значения:

6E441BDF 00000004 00000001
63073D06 00000000
67C620B1 00000004 00000001


Нужно тестировать и разбираться.

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

https://www.reddit.com/r/Splintercel...lacklist_save/ вот тут инфа по сохранениям с пк, на пк сейвы в обычном состоянии хранятся в бинарном состоянии, но подредактировав ini файл можно сделать их читаемыми, и там уже можно увидеть структуру сохранения.
Еще я попробовал через RPCS3 зайти в игру, дошел до сохранения, вышел. После любого изменения сохранения (даже если один байт поменять) игра выдаёт ошибку, из чего можно сделать вывод, что в саму игру встроен механизм защиты от изменения сохранений. Я правильно же рассуждаю?
Так как на игру в интернете есть Читы, возможно можно создать Читы для присвоения этим переменным нужных значений.

in1975 22.06.2023 09:25

shulgovskiy, в apollo save tool нет ничего по этому поводу?

shulgovskiy 22.06.2023 11:02

Цитата:

Сообщение от in1975 (Сообщение 1271466)
shulgovskiy, в apollo save tool нет ничего по этому поводу?

Ничего, кроме стандартных действий decrypy/encrypt ну и переподписания
Я пробовал прогнать код игры через дизассемблер, запустив ее на эмуле RPCS3, и там как раз нашел команды присвоения этим трём переменным значений, но чтобы полностью понять, что нужно подменить мозгов не хватает

YAGAMI55 22.06.2023 17:04

Цитата:

Сообщение от shulgovskiy (Сообщение 1271467)
но чтобы полностью понять, что нужно подменить мозгов не хватает

Ну... ты знаешь как вообще в целом ЧИТЫ на любые игры делаются? Берется игра/эмуль и запускается. Ты находишь те значения, которые тебе нужны (они у тебя уже есть, поэтому вычислять днями и ночами тебе их не нужно), затем подрубаешься к оперативкe процесса эмуля через читенджин или любой хекс редактор с доступом к опере, если тебя диз смущает. И меняешь значения)))) Обычно все это float или integer. Почему в опере менять? Да потому что игра уже думает что с сохранением все норм и даст тебе спокойно все сделать. Затем когда ты найдешь нужные значения, ты их можешь внедрить в кастомный эльф, прогрузиться с этого эльфа и сохраниться, затем снова прогрузиться с оригинального. Тебе не сохранения надо ковырять, а сам эльф.

shulgovskiy 22.06.2023 17:09

Цитата:

Сообщение от YAGAMI55 (Сообщение 1271483)
Ну... ты знаешь как вообще в целом ЧИТЫ на любые игры делаются? Берется игра/эмуль и запускается. Ты находишь те значения, которые тебе нужны (они у тебя уже есть, поэтому вычислять днями и ночами тебе их не нужно), затем подрубаешься к оперативкe процесса эмуля через читенджин или любой хекс редактор с доступом к опере, если тебя диз смущает. И меняешь значения)))) Обычно все это float или integer.

Вот на вторую половину тобою сказанного мозгов то мне и не хватает)

Mazeltov 15.08.2023 07:43



Вот такая ошибка вылезет если нажать кнопку verify pfd. даже на моих сейвках скопированных с консоли. Ничего не менял, просто в один момент сдох и все

Menomi 14.03.2024 11:42

господа, а почему Брутфорс может не запускаться? точнее запускается, но сразу закрывается. 11 винда

ErikPshat 19.03.2024 16:02

Цитата:

Сообщение от Menomi (Сообщение 1281730)
почему Брутфорс может не запускаться?

Может быть не установлена библиотека MSVBVM50.DLL?
Поставьте отсюда, из Особых требований: https://www.pspx.ru/forum/showthread.php?t=106441


Текущее время: 01:43. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.