Здесь обсуждаем только взлом PS4, выкладываем свои идеи, находки и только достоверную информацию.
Никаких фейков!
Никаких холиваров!
Никаких оскорблений собеседников!
Поддержите тёплую дружественную атмосферу в этой прекрасной теме.
история
[Сцена PS4] Эксплойт для запуска не подписанных приложений и игр на PS4
Разработчик Zer0xFF опубликовал на своем хранилище иcходный код для новой версии эксплойта dlclose, почти такой же как у разработчика BigBoss https://vk.com/playstation_hack?w=wall-36581302_80028 Известный портал logic-sunrise.com на котором прогремел взлом консоли WII U утверждает, что исходный код от Zer0xFF после компиляции будет запускать не подписанные приложения и игры!
ShellCore patches (for fake PKG support) not yet implemented.
fake_installer - Add payload and installer. (Compiled fake_installer.bin by akenateb and midos2010 with a compiled FSELF.zip working download link from DomyGX)
fake_payload - Fix fake_payload.x for normal builds. (Compiled fake_payload.bin by akenateb and midos2010 with a compiled FSELF.zip working download link from DomyGX)
ShellCore patches (for fake PKG support) not yet implemented.
fake_installer - Add payload and installer. (Compiled fake_installer.bin by akenateb and midos2010 with a compiled FSELF.zip working download link from DomyGX)
fake_payload - Fix fake_payload.x for normal builds. (Compiled fake_payload.bin by akenateb and midos2010 with a compiled FSELF.zip working download link from DomyGX)
in1975, ну это я к предыдущим сообщениям. Там писалось, типа нужно PKG распаковать, пропатчить там что-то и опять запаковать.
А сейчас с помощью эксплоита есть доступ к памяти. А там подменяй что хочешь. Только адресацию файлов и функций сидеть вычислять и патчить.
А дамп памяти кто-нибудь где-то выкладывал? Хоть посмотреть изнутри.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
ErikPshat, Это для самописных приложений конечно, для игр нафиг не надо.
А как иначе игры ставить? Снова payload? Не каждая игра запускается + подбирать payload под определенный hook и определенную дисковую игру.
Весь метод Алексея направлен на упрощение процесса. PKG работает гарантированно, его просто создать, просто установить и просто запускать.
Сообщение от ErikPshat
in1975, ну это я к предыдущим сообщениям. Там писалось, типа нужно PKG распаковать, пропатчить там что-то и опять запаковать.
А сейчас с помощью эксплоита есть доступ к памяти. А там подменяй что хочешь. Только адресацию файлов и функций сидеть вычислять и патчить.
А дамп памяти кто-нибудь где-то выкладывал? Хоть посмотреть изнутри.
Распаковывается PKG на консоли нормально, можно вынести содержимое с консоли (однако работать не будет, не пройдет проверку). Для того, чтобы завернуть эти файлы обратно, нужно знать их точное расположение и методы компрессии
Ну так я и говорю, что проще пропатчить проверку в памяти. Нужно только просчитать, как эта проверка начинается и вместо отрицательного ответа подменять на положительный. Тогда всё будет работать
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
По поводу распаковки-запаковки flatz ещё в середине октября писал на одном ресурсе:
Цитата
Прямым текстом написано, что автор эксплойта не я и сливать я его никому не буду. Я реализовал метод запуска перепакованных pkg игр (отвязанных от оригинальных rif'ов), КОТОРЫЙ и собираюсь выложить, чтобы потом люди адаптировали его под прошивки, где есть и будет эксплойт. Тот метод, о котором я рассказывал ранее в этой ветке.
Кто будет выкладывать сам эксплойт мне не важно, ибо мне все равно. Сам по себе метод не работает без эксплойта, как и эксплойт без метода запуска не дает ничего запустить.
---
По поводу PKG и прочего.
На видео в самом начале после запуска эксплойта через браузер показана установка простейшего "homebrew", который запускается из XMB и рендерит текст с помощью файла шрифта, само приложение создано с помощью SDK, собирается им же.
Далее устанавливаю The Last Guardian из перепакованного образа, который предварительно собрал на ПК. Образ нужно перепаковывать из расшифрованных и распакованных файлов игры модифицированной утилитой из SDK, которая шифрует его собственным ключом, этот же ключ мы применяем в дальнейшем в ядре в коде самого эксплойта. Также видел комментарии наподобие "о, да он тупо устанавливает собственно купленную игру", что я предвидел, поэтому на видео я показываю, что после перезапуска консоли, когда эксплойт не запущен (не запускаю браузер и поэтому нет debug settings), установленные только что pkg-файлы, не запускаются, выдавая ошибку (банально нет ключа расшифровки и благодаря дебаговому образу на розничной консоли).
Будет некая программа, выполняемая на PS4, которая будет с помощью этих ключей доставать расшифрованный (но не распакованный!) образ, далее этот образ моей утилитой будет распаковываться. Кроме того, она также генерирует GP4-проект с параметрами образа, списком файлов, флагами и так далее. Собственно, это и было главной головной болью, т.к. требуется пересоздать образ, который будет почти идентичен оригинальному (расположение файлов в образе, привязка к языкам, требование сжатия для отдельных файлов и т.п.). По этой причине у меня конкретно эта игра не запускалась должным образом (вызывала бесконечный перезапуск), т.к. изначально я просто запихал все файлы как есть и сгенерировал образ, но игра похоже в какой-то определенной последовательности должна подгружать блоки данных с образа.
Собственно, перепаковывает образ тот, кто купил игру (дисковая она или PSN - не важно, т.к. обе включают в себя pkg файл и в большинстве случаев этот pkg файл одинаковый что для дисковой, что для PSN игры). Покупка важна, как и всегда, т.к. при ней скачивается (для PSN версии) либо берется с диска (для дисковой версии) файл лицензии, который включает в себя ключи для расшифровки образа игры. Для сгенерированного образа будет использоваться не ключ из rif-файла, а фиксированный ключ, о каком я писал выше, по сути перепакованный образ - это дебаговый образ, но для них rif-ключ не используется системой, т.к. rif здесь - пустышки.
Получаем, что с моей стороны будет:
- Патчи для ядра, которые позволяют запустить неподписанные и нешифрованные self файлы (также известные как fself), загружать дебаговые rif-файлы (хоть и не используются для дешифровки, но система их все равно грузит), запускать и расшифровывать перепакованные образы своим ключом, а также патчи для установки таких pkg-файлов с помощью Package Installer.
- Некая утилита для расшифровки купленных в системе игр (а конкретно pkg-файлов и self-файлов). В данный момент user-friendly пути пока нет, поэтому это нужно еще реализовать, чем я планирую заняться в ближайшее время.
- Программа для ПК для работы с pkg-файлами, которая будет распаковывать полученный файл образа и генерировать для него исходный файл-проект, который скармливается модифицированной утилите из SDK для сборки перепакованного образа.
- Патчер для данной утилиты, меняющий ключ шифрования на известный нам, который будем применяться в патчах к ядру после запуска эксплойта.
Этот процесс будет работать как для самих игр, так и для патчей. Также возможно редактирование файлов игры, ведение работ по локализации и тому подобное. По идее, файлы тем тоже можно использовать, т.к. они также представлены в виде pkg-файлов, но с ними я не пробовал пока что заморачиваться.
По поводу распаковки-запаковки flatz ещё в середине октября писал на одном ресурсе:Получаем, что с моей стороны будет:
- Патчи для ядра, которые позволяют запустить неподписанные и нешифрованные self файлы (также известные как fself), загружать дебаговые rif-файлы (хоть и не используются для дешифровки, но система их все равно грузит), запускать и расшифровывать перепакованные образы своим ключом, а также патчи для установки таких pkg-файлов с помощью Package Installer.
- Некая утилита для расшифровки купленных в системе игр (а конкретно pkg-файлов и self-файлов). В данный момент user-friendly пути пока нет, поэтому это нужно еще реализовать, чем я планирую заняться в ближайшее время.
- Программа для ПК для работы с pkg-файлами, которая будет распаковывать полученный файл образа и генерировать для него исходный файл-проект, который скармливается модифицированной утилите из SDK для сборки перепакованного образа.
- Патчер для данной утилиты, меняющий ключ шифрования на известный нам, который будем применяться в патчах к ядру после запуска эксплойта.
А по факту получили только названия функций для подмены, небольшие кусочки кода и глобальное небольшое описание.
Где бл патчер? Где бл утилита? Почему от игр он открестился совсем? Очень странный персонаж, тут даже у других девов бомбануло.
От шестого января твит на 7 постов, почитайте. https://twitter.com/Zer0xFF
Сколько наобещал, а делают в итоге люди посторонние, которые заведомо секут меньше.
Алексей мог разом поднять всю полудохлую сцену PS4,а в итоге кинул всех через тот самый прибор из трех букв.
Я так понимаю, что он предлагает внедрять в систему свой кастомный ключ вместо оригинального Соневского, которые вероятно не известны или не известны все. И переподписывать PKG этим своим ключом, который потом будет расшифровываться этим же внедрённым кастомным ключом
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Я так понимаю, что он предлагает внедрять в систему свой кастомный ключ вместо оригинального Соневского, которые вероятно не известны или не известны все. И переподписывать PKG этим своим ключом, который потом будет расшифровываться этим же внедрённым кастомным ключом
Получается все дампы игр которые сейчас сняты пустышки, все равно их придется перепаковывать. Все ждут пока IDC доделает патч ShellCore для fself/fpkg.
Сорри, если уже было. Оставлю это здесь: Memory Dump
Странно, в начале данные записаны блоками по 0x100.
В позиции 0x9B490 записаны странные данные, либо Snowflake @notzecoxao сам специально перезаписал данные:
..\...#.idpsmemeidpsmemememememememememe (причём ровно 32 байта, похоже на ConsoleID)
И следом ещё ровно 16 байт:
memememememememe
Тоже самое повторяется по адресу 0x600000. В принципе аналогично, как в PS3. Думаю это оно и есть.
Не удивлюсь, если эти цифры всплывут в качестве ключей:
Получается все дампы игр которые сейчас сняты пустышки, все равно их придется перепаковывать. Все ждут пока IDC доделает патч ShellCore для fself/fpkg.
Файлы то валидные, просто понадобится еще доп информация о разбитии на блоки. Для ее получения еще придется попотеть, там какая то полная дичь из перемонтирования файловой системы и очередных подмен функций (четверка в оригинале не дает доступа к нераспакованному pkg, только к обработанному, смонтированному в виртуальной памяти sic!)
Ну и из сегодняшнего выложу сюда на память, если никто не против:
Цитаты
в общем, я тут почитал мнения, и выходит что взлом идёт так туго, потому что флатц выложил далеко не всё, что ранее обещал
в частности проги для расшифровки игр и их перепаковки для запуска
как и предполагалось, человек не скрывающий своих данных связываться с пиратством в открытую не будет
вот счас другие и сидят, чешат репу пытаясь эти проги заново написать
Расшифровку может делать сама система, достаточно запустить игру и скопировать расшифрованные данные с примонтированной ФС, собственно, этим и занимались на 1.76 и занимаются сейчас на 4.05. Сам лично я решил, что дампер в виде homebrew приложения делать не стану, ибо скорее всего это повлечет проблемы для меня. Но народ справится и сам, т.к. это не сложная задача, в отличии от перепаковки, т.к. для многих игр нужно знать расположение файлов внутри pkg для правильной сборки. Да и по поводу перепаковки неправда, я выложил патчи для SDK утилит и фрагменты кода для генерации файла-проекта и вспомогательные штуки. Тот, кто будет писать дампер, может встроить их в свой код. Хотя скорее всего, когда это дампер будет готов, я переделаю свою утилиту для работы со сдампенным образом, которая будет генерировать этот файл-проект для последующей сборки, а сейчас пока есть время этим не заниматься.
В любом случае для homebrew и ряда игр, которые не используют PlayGo, все есть внутри статьи. Почему все идет так туго, это вопрос не ко мне, поскольку я не вижу причин, почему люди не могут тупо взять утекшее 4.55 ядро, которое даже расшифровано, а не сдампено, как обычно, найти там смещения, какие я указал, открыть 4.05 ядро и, найдя соответствующий код, записать смещения для 4.05, видимо для людей это слишком сложно (хотя непонятно, как тогда клепают прошивки для PS3, ведь по сути там тоже самое) или тупо лень и они ждут, пока кто-то сделает работу за них.
upd : искатель я плохой наверно, даже ради интереса, не нашел elf от 4.55
Скорее всего речь шла не про ELF, а про Memory Dump.
Думаю это по поводу того, как расписал fail0verflow процесс дампинга за 6 дней.
В принципе он там всё подробно расписал по дням. И собсно я подумал про 4.55 по этому предложению:
Сообщение от fail0verflow
The above version of sysdump_output_establish_secure_context_on_dump is from firmware 4.55. nonce3 is the value which will be used as the crashdump AES key. This value is only stored in the dump within an RSA encrypted blob. As such, a new approach would be needed to attempt key recovery.
И ещё он писал, что где-то в районе 4.50 изменился метод генерации ключа.
On firmware ~4.50, the crashdump key generation method was finally changed to require knowledge of an asymmetric key in order to decrypt the dump contents.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram