Commit Graph
14 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5.5 edef36d97e Load game patches installed on a PSP, given its Fuse ID
- Fixes #12343

Killzone: Liberation's Chapter 5 DLC is an installer that the PSP turns
into ms0:/PSP/GAME/<id>/KZL.PRX, which the game loads with
sceKernelLoadModuleDNAS. That file is a PGD around a type 3 PRX (decrypt
mode 18), both keyed to the console that installed it. Its Fuse ID
gives everything needed:

- libkirk: the per-console key derivation, and KIRK commands 3, 5 and 8
  built on it (KIRK ROM per uofw, key mesh per psdevwiki).
- PrxDecrypter: type 3, which is type 5 with the first step through
  KIRK command 3 (JPCSP's PRX.java), and the DNAS PGD unwrap.
- sceKernelLoadModuleDNAS uses the new FuseID setting (or --fuse-id).
  Without one, or with the wrong one, the game falls back to its stock
  module and an OSD message says why.
- Headless --re-decrypt takes --re-decrypt-key and --fuse-id, to decrypt
  such a file offline.

Verified with a patch installed on a real PSP: the v1.20 module loads,
starts and reads CHAPTER5.BIN. Type 5 output is unchanged (an NPJH50521
PBOOT.PBP decrypts byte-identically). How to install one over PSPLink is
in docs/dnas-patches.md.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-14 18:10:08 +02:00
Henrik Rydgård c29e370e29 Remove global state from kirk engine 2025-06-05 22:46:24 +02:00
Henrik Rydgård 6bc625ecde More const-ness corrections 2025-06-05 22:46:23 +02:00
Henrik Rydgård c5321ad43a Constify the key data 2025-06-05 22:46:23 +02:00
Henrik Rydgård d5c9ed2c09 Some const propagation 2025-06-05 22:46:20 +02:00
Henrik Rydgård 70cb1104dc Kirk: Remove use of uninitialized stack as a random number source
This confused Valgrind and made me think we had another memory bug.

Turns out this is NOT the cause of #13781, which I still don't
understand.
2024-07-16 22:04:41 +02:00
Henrik Rydgård 0586338d5e Add some comments and const-correctness, and a pointer type fix, to the "semaphore" crypto stuff. 2020-08-01 23:11:48 +02:00
Davee Morgan e7ec568b02 PRX Decryption: add missing decryption keys 2020-01-11 15:25:37 +00:00
Davee Morgan 1d7bbdd006 PRX Decryption: add support for type 0/1/2/5/6 decryption 2020-01-11 15:00:07 +00:00
shenweip 03197c376c Fix some double semicolon. 2013-09-15 23:17:22 +08:00
Xele02 aa01751589 Save encryption. Load/Save encrypted/decrypted save
RE of Chnnlsv lib
Correct size bug in kirk
2013-01-29 00:11:02 +01:00
Kevin Armstrong abbe155971 Missing new line at eof warning fix 2012-11-25 00:57:34 +00:00
Kevin Armstrong 31aa8ed5eb Update libkirk to latest version
Just in case..
2012-11-25 00:55:42 +00:00
Arthur Blot 5b5618d32d Added ~PSP decryption system using kirk-engine 2012-11-05 14:59:38 +01:00