PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   Взлом EBOOT подписи! (https://www.pspx.ru/forum/showthread.php?t=89730)

Yoti 28.01.2011 21:50

Цитата:

Сообщение от ErikPshat (Сообщение 935461)
ты сможешь моё это предложение в исходниках заменить и скомпилировать sign_eboot

Там написали, что старые прошивки такого типа демок не знают.

ErikPshat 28.01.2011 21:58

Yoti, да я уже читал. Мне там ответили )))

В старых прошах нет функции NP_UMD_IMG, поэтому по новой технологии закриптованные игры могут запускаться только на 6.20 прошивках и выше. Хотя на Prome должны работать.

Цитата:

Сообщение от ErikPshat (Сообщение 935461)
Fake_NP

Ну так что, никто не разобрался с этим Fake_NP, кроме lex3a.

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

Yoti 29.01.2011 14:13

Вложений: 1
ErikPshat,
мне достало прыгать между прошивками. Как приедет моя PSPgo - займусь этим плотнее, ибо там перманентно будет 6.20.
Успешно скомпилил и подписал сэмпл из pspsdk. Упаковал в новый ISO. Запустил на 6.35 - ошибка. Удалил пустой 8 байтный PIC0.PNG - запустилось, высветило предупреждение на "лунном" и зависло. Попил кофе, переделал алгоритм. Создал, запустил, посмотрел на предупреждение на "лунном", получил ошибку 80020148. Видимо, проблемы в исходном коде homebrew.

В аттаче SDK. Перед использованием положить umdgen.exe в папку с SDK.
Пароль: http://pspx.ru/forum/

ErikPshat 02.02.2011 04:56

Вложений: 1
Цитата:

Сообщение от Yoti (Сообщение 937322)
Вот и более подробная информация о способе fake_np.

Хех, а вообще я понял прикол :D

Действительно, не обязательно делать файлы более 5 Мб, правда их можно запускать только на 6.20 и выше.
Странно, что tpu вставил ключ от 6.хх, да ещё и PARAM.SFO взял от японской игры 6.20.
Вот вам и русский маленький HEN 695k )))

MurametS 02.02.2011 19:21

ErikPshat, проверил, на 3000 работает точно :)

ErikPshat 02.02.2011 20:53

MurametS, спасибо! Хоть одно подтверждение.
А то я думал, что только у меня 1000 и 3000 волшебные ))

vit9696 02.02.2011 21:10

Эрик +1, работает как часы.... Хотя замечено как бэ два полубага - название и появление японо-иероглифической фигни....

respecteg 02.02.2011 21:16

Цитата:

Сообщение от ErikPshat (Сообщение 938333)
Ну кто-нибудь проверял? У вас хоть работает?

А то меня один уверяет, что нифига не рабртает ни на 1000 ни на 2000 ни на 3000.

Видать никому не интересно, жаль.

работает всё 300х

ErikPshat 03.02.2011 15:07

Цитата:

Сообщение от vit9696 (Сообщение 938374)
Хотя замечено как бэ два полубага - название и появление японо-иероглифической фигни....

Там по ходу tpu взял готовый заголовок с геймбутом от японской демки "Naruto Shippuden: Kizuna Drive"

И видимо подпись ибута идёт именно этими ключами AES, CMAC и чексуммой SHA1 hash. Поэтому, подмена названия или картинки сразу делает нерабочим ибут.

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

vit9696 03.02.2011 15:19

Но ТН же как-то сделал? Согласись......

ErikPshat 03.02.2011 15:57

Total Noob взял заголовок от демки Sukkiri.
Вот сравнение DATA.PSP (TN и Sukkiri):

Скрин
[IMG]http://img64.**************/img64/7387/0302l.png[/IMG]
От 0х0 до 0х150 идёт заголовок файла.
От 0х150 идёт само тело файла.
Так вот, заголовок один и тот-же, а тело разное. Это наводит на мысль, что TN своё тело закриптовал ключами из заголовка.

А вот спецификация заголовка:

То есть, он взял ключ AES и CMAC, вставил в исходник подписывальщика PrxEncryper и этими ключами (от 5.00) подписал свой HEN, перед этим ещё сжав его в GZIP.

Причём, размер тела демки (DATA.PSP) и Хена TN полностью совпадают и составляют 430'176 байт.
Без этого хен бы не работал, т.к. заголовок 0х150 остался нетронутым, а размер тела записан в заголовке в смещении 0х2С (00069060 = 430'176 байт) и размер декриптованного файла записан в заголовке в смещении 0х28 (00111494 = 1'119'380 байт).
Поэтому он свой декриптованный файл забил в конце нулями до необходимого размера 1'119'380 байт, потом сжал в GZIP и зашифровал.

Yoti 04.02.2011 22:46

ErikPshat,
у wololo выкладывали fakesign - нужно использовать его.

ErikPshat 05.02.2011 14:07

fake_np will be greate iso loader :)

Я тут ещё выяснил, что tpu использовал тупо выдернутый PARAM.SFO и DATA.PSP от игры Naruto Shippuden: Kizuna Drive, а подписанное тело любой программы, с помощью seboot.exe, подсовывает в файл DATA.PSAR, оставляя начало 0х100 оригинала не тронутым.

Yoti, сможешь скомпилировать экзешник из исходника во вложении. А то у меня для этого ничего не установлено.

Yoti 05.02.2011 14:42

У меня тоже Сишных компиляторов под ПК не стоит.

frostegater 05.02.2011 15:28

ErikPshat, Подожди, я щас скомпилирую:)

Frostegater добавил 05.02.2011 в 15:28
Кхм... На выходе только .cproject и .project

ErikPshat 05.02.2011 15:39

Вложений: 1
Хм, может вам не хватает библиотек. Вот тогда полностю весь пак вместе с SRC.
Там я в sign_eboot свой ключ подсунул и нужно его снова скомпилировать так-же, как лежит seboot.exe в корне.

frostegater 05.02.2011 15:52

ErikPshat, все равно также
Вот показания с консоли
консоль

**** Build of configuration Default for project errerere ****

make all
gcc -Wall -g -o seboot sign_eboot.c -I../kirk -L../kirk -lkirk -lcrypto
process_begin: CreateProcess((null), gcc -Wall -g -o seboot sign_eboot.c -I../kirk -L../kirk -lkirk -lcrypto, ...) failed.
make (e=2): Не удается найти указанный файл.

make: *** [all] Error 2

ErikPshat 05.02.2011 16:25

Frostegater, нужно добавить h-файлы из других папкок в библиотеки компилятора include.
А так-же, вроде нужно установить на компе OpenSSL 1.0.0c - она содержит механизм компиляции AES и CMAC.

Там есть INSTALL по установке. Из-под винды устанавливается элементарно, но нужен MinGW или Cygwin. Потом вводишь команды по установке.

Или просто воспользуйся Виндовой версией: Win32 OpenSSL v1.0.0c
Стырено отсюда

frostegater 05.02.2011 17:44

ErikPshat, ну зачем же сразу все. Надо только kirk_engine.h и psp_headers.h(их просит sign_eboot.c)
компиль помоему еше просит
stdio.h
stdlib.h
string.h

Цитата:

Или просто воспользуйся Виндовой версией: Win32 OpenSSL v1.0.0c
Стырено отсюда
Спасиба он 16 мегарей весит:D, придется подождать(скорость мала)

Frostegater добавил 05.02.2011 в 17:44
Так... в общем те же самые ерроры
сдается мне что ему надо еще те 3 хедера

ErikPshat 05.02.2011 17:52

Frostegater, ты через Visual Studio компилишь?

Нужно скопировать содержимое папки OpenSSL-Win32 в папку твоего компилятора, где там папка include лежит. Она может ещё в глубине лежать, смотря откуда подхватываются билиотеки и хедеры.

И да, все хедеры h нужно то-же добавить в include.

Код:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "kirk_engine.h"
#include "psp_headers.h"

В общем тут надо себе все мозги вышибить, прежде, чем заставить это работать :D


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

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