|
PSP хакинг и девелопмент Взгляд изнутри |
25.05.2020, 20:52
|
Сообщение: #8 (1214665)
|
Модель консоли: PSP-1000
Прошивка: 6.60 PROMOD
Другие консоли: PS1 (SCPH-7502 x2, SCPH-9002, SCPH-102 x2), PS2 (SCPH-50008, SCPH-90008), PS3 (CECH-2008B)
Регистрация: 24.05.2020
Адрес: Тула
Сообщений: 24
Вы сказали Спасибо: 8
Поблагодарили 0 раз(а) в 0 сообщениях
Сила репутации: 0Репутация: 0 
(пока ничем не отличился)
|
Сообщение от ErikPshat
Ну хорошо, что у вас всё быстро делается без лишних вопросов
В Hex Workshop закройте все лишние окна справа слева внизу, они пока не нужны.
- Короче, откройте в хекс-редакторе kirk.16, он занимает ровно 272 байта (0x110)
- Выберите в меню File -> Export -> С Source (*.c, *.cpp).
- У вас сохранится файл kirk.c
- Теперь откройте его в Notepad++ и так же откройте в исходниках файл main.c - вы должны увидеть сходство кирка с исходным кодом в этом месте:
unsigned char kirkHeader[272] = {
0x8B, 0x5D, 0xC0, 0x96, 0x38, 0x77, 0x54, 0x6D, 0x2E, 0x40, 0x07, 0x42, 0x8D, 0x5A, 0xAE, 0xEF,
0x11, 0x34, 0x0F, 0x5D, 0xF8, 0x57, 0x7A, 0x7A, 0x06, 0xDA, 0xE2, 0xB1, 0x4F, 0x5A, 0x3D, 0x84,
0x99, 0xC4, 0xF4, 0x95, 0x61, 0xDF, 0x88, 0xBA, 0xB3, 0x60, 0x09, 0x90, 0x5A, 0x94, 0xD8, 0x58,
0xC5, 0x3A, 0x33, 0x3E, 0xD7, 0x30, 0x20, 0xED, 0xCC, 0xA8, 0x7B, 0x90, 0x46, 0x9B, 0x0C, 0xFC,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x48, 0x06, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7E, 0x50, 0x53, 0x50, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x4D, 0x6F, 0x64, 0x65, 0x6C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x48, 0x06, 0x2F, 0x00, 0xA0, 0x07, 0x2F, 0x00,
0x24, 0x01, 0x00, 0x00, 0x44, 0xDD, 0x1E, 0x00, 0x5C, 0x46, 0x2D, 0x00, 0x40, 0x00, 0x40, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xCA, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x4C, 0xCA, 0x20, 0x00, 0x84, 0x2A, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x06, 0x06, 0x09, 0x00, 0x00, 0x00,
};
- Вот эта строка указывает на количество байт: unsigned char kirkHeader[272] = - по этому количеству вы должны ориентироваться, чтобы не спутать блоки и там и там.
- Из kirk.c выделяете движением мышки слева весь цифровой код сверху вниз, не затрагивая скобки { и };, копируете, затем выделяете в исходнике main.c такой же код и заменяете.
- Теперь открываете оригинальный шифрованный не декриптованный EBOOT.BIN (~PSP). Выделяете с самомго начала заголовок, размером 336 байт (0x150).
- И делаете всё тоже самое File -> Export -> С Source (*.c, *.cpp).
- У вас сохранится файл EBOOT.c
- Теперь откройте его в Notepad++ и так же откройте в исходниках файл main.c - вы должны увидеть сходство в EBOOT.c размером 336 байт с исходным кодом в этом месте: unsigned char rawData[336] =
- Точно так же копируете, вставляете, сохраняете main.c и компилируете новый PrxEncrypter.
- Ну вот и всё, у вас есть энкриптер именно для этого вашего файла.
- Берёте ваш кастомный файл, который надо упаковать как оригинал, кидаете рядом с программой или прямо на программу, либо в консоли натравливаете команду
PrxEncrypter.exe EBOOT.BIN
- На выходе вы должны получить файл DATA.ENC - это и есть ваш пожатый и подписанный EBOOT.BIN, переименовываете его потом и пакуете в ISO.
- У него будет тот же заголовок как у оригинала, точно такой же размер, как и записано в хедере и он будет работать на любой OFW, как и оригинал.
|
Все собралось, запустилось из образа нормально. Останется на сжатие проверить, потому что сейчас паковал файл меньше оригинального по размеру. Такой вопрос, могу ли я немного модифицировать ваш исходник для некоторой автоматизации процесса? Напишу утилиту, которой скармливаешь кирк и криптованный файл, а на выходе получаешь готовый пакер который уже дальше зажимает файл, ключи сгенерированные можно будет в конфиг файл проекта трейнера писать чтобы использовать их при следующей сборке проекта трейнера. Мне так всяко по проще будет файлы разных игр паковать. Если конечно будет разрешено.
Думаю, с PS3 меня будут ожидать примерно такие же проблемы если не больше
Последний раз редактировалось ErikPshat; 26.05.2020 в 05:16.
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Опции темы |
|
Опции просмотра |
#goto_displathreadrate.php?t=
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 14:51. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.
|
|
|