| 
				  
 
	
		
	
	
		| 
					Сообщение от akela1979  Сложно поверить что кто то из форумчан знает как ими воспользоватся |  
Думаю кому-нибудь может пригодиться. Инструкции и файлы в шапке.
 
 
Ну для наглядности приведу рабочий пример применения этих ключей и тулз. 
Сегодня как раз понадобилось расковырять KIRK-ключи эмулятора PSP, находящегося в прошивке PS3. Собсно по данной теме: https://www.pspx.ru/forum/showthread.php?t=103710
KIRK  - это криптографический блок, который железно вшит на заводе в процессор, ещё на стадии производства процессора. 
Извлечь его из процессора очень и очень сложно, поэтому проще забрать его программный образ, который лежит в песочнице PSP для PS3 и эмулирует команды процессора PSP для управления песочницей.
 Короче, сначала необходимо распаковать файл обновления прошивки. Я скачал прошивку 3.55 PS3UPDATE.PUP.
 
Для декриптовки взял из шапки PS3-decrypt-tools-windows.rar и разархивировал.Закинул туда файл прошивки PS3UPDATE.PUP и воспользовался инструкцией из шапки:
 
 pup_unpack.exe
 
		unpack pup  files (get core_os_package.pkg, etc.)
	Usage: pup_unpack {filename} {directory}
	filename: your pup
	directory: destination for pup contents
 В коде всё расписано по порядку - Usage(использование): pup_unpack {filename} {directory}, где filename - это наш файл прошивки PS3UPDATE.PUP, а directory - это название папки, куда будет скидываться содержимое.
 
 
В общем создаю текстовой документ и пишу туда команду @echo off - это для того, чтобы в консоли не показывался всякий мусор, типа путей и т.п.. Со следующей строки пишу команду: pup_unpack PS3UPDATE.PUP FW355 и на следующей строке пишу паузу pause, чтобы окно консоли не закрвалось, иначе не будет видно, что произошло и были ли ошибки. Потом расширение у текстовика *.txt меняем на *.bat, тем самым превратя наш текстовик в исполняемый батник. Получился такой вот простенький код: 
	@echo off
pup_unpack PS3UPDATE.PUP FW355
pause
Итак, прошивка вся извлеклась в папку FW355. Там несколько мелких файлов текстовиков, но внимание привлекает большой архив TAR на 164 Mb. Разархивируем его, получаем огромную кучу файлов. Самые интересные из них - dev_flash_0XX.tar.aa.2010_11_27_051337 аж 22 архива TAR. Но первоначально это не просто архивы, а зашифрованные файлы SCE.
 Ну а так как это файлы прошивки, то опять используем инструкцию из кода в шапке:
 
 fwpkg.exe
 
		decrypt pkgs (you extracted with pup_unpack)
	Usage: fwpkg {mode} {input file} {output file}
	Mode:  - e: Encrypt PKG
	          - d: Decrypt PKG
	input file: your crypted pkg
	output file: decrypted output
Создаём, как написано, такой батник: 
	@echo off
fwpkg d dev_flash_000.tar.aa.2010_11_27_051337 dev_flash_000.tar
pause
 И декриптуем все файлы, меняя по очереди в батнике названия каждого файла от 000 до 022.
 Таким образом получается 22 декриптованных архива dev_flash_000.tar - dev_flash_022.tar.
 Архиватором разархивирую их все в одну папку dev_flash, например.
 
 Там собирается в итоге 7 папок. Меня интересует папка "pspemu". Там лежат 2 маленьких файла psp_emulator.self и psp_translator.self и ещё 2 папки с файлами прошивки PSP.
 
 
Ну для интереса декриптую эти 2 файла с интересными названиями. Для этого использую ещё одну инструкцию из шапки: 
 decrypt-self.exe
 
		decrypts self files
	Usage: decrypt-self {self file} {elf file} {key file} {fix}	
	self file: file you want to decrypt
	elf file: your output file
	key file: use one of the included (e.g. "315.appkey")
	               all x**.appkey files are unknown fw numbers
	               find out on your own :)
	fix: 0 (zero)
 Делаю сразу один батник на декриптовку обоих файлов:
 
	@echo off
decrypt-self psp_emulator.self psp_emulator.elf 355.appkey 0
decrypt-self psp_translator.self psp_translator.elf 355.appkey 0
pause
И, как видно из инструкции, тут как раз потребуется ключ для этой прошивки и для этого вида файлов.Поэтому беру ключ из спойлера KEYS и сохраняю его как 355.appkey:
 
	[appldr]
type=SELF
revision=000A
version=0003005500000000
self_type=APP
erk=29805302E7C92F204009161CA93F776A072141A8C46A108E571C46D473A176A3
riv=5D1FAB844107676ABCDFC25EAEBCB633
pub=09301B6436C85B53CB1585300A3F1AF9FB14DB7C30088C4642AD66D5C148B8995BB1A698A8C71827
priv=0010818ED8A666051C6198662C3D6DDE2CA4901DDC
ctype=25
 Создаю файл под названием 355.appkey и вставляю туда ключи в чистом виде: erk (32 байта) и следом же riv (16 байт).
 Другие ключи pub и priv не нужны. Ничего изобретать не надо, всё строго по ключевой инструкции:
 
 key files:
 
		first 32 bytes: erk
	last 16 bytes: riv
 Ну и декриптую батником эти 2 файла.
 Собсно, как и ожидалось, ничего интересного в этих маленьких файлах не нашлось.
 
 
Внимательно осматриваю файлы в папках. Заинтересовали парочка файлов в папке \dev_flash\pspemu\release.Это файлы emulator_api.sprx и emulator_drm.sprx. Ну для декриптовки этих SCE-заголовочных файлов я пошёл другим путём.
 Скачал ещё другую тулзу PS3 Tools Collection 2.3.8. Программа устанавливает в папку "Документы" всю свою многочисленную коллекцию тулзов с единым GUI.
 Там я зашёл во вкладку "Bruteforce Tools => Scetool GUI", просто выбрал файлы emulator_api.sprx и emulator_drm.sprx, и декриптовал легко и просто.
 Внутри декриптованного файла emulator_drm.sprx обнаружился ещё один файл iso_spu_handler.sprx, который я извлёк вручную и снова так же декриптовал.
 
 
Собсно нашёл то, что искал -> эмулятор KIRK-a процессора PSP (следующий пост).
 			 
 Последний раз редактировалось ErikPshat; 13.03.2014 в 15:51.
 
 |