2023-11-10 22:16:44 +13:00
2023-11-10 22:16:44 +13:00
2023-11-10 22:16:44 +13:00
2023-10-25 17:48:29 +13:00
2023-10-25 17:48:29 +13:00
2023-10-28 23:57:38 +13:00
2023-10-25 17:48:29 +13:00
2023-11-10 22:16:44 +13:00

Library for ISO Rebuild Data (LibIRD)

.NET library for generating, writing, and reading IRD files. Functionality is provided for deterministically generating IRDs such that a redump ISO and key have a 1-to-1 correspondence with an IRD file.

How to use LibIRD

Reproducible, redump-style IRDs

The standard way of generating a reproducible, redump-style IRD is with a redump ISO file and a redump key file (e.g. http://redump.org/disc/28721/key/):

byte[] discKey = File.ReadAllBytes("./game.key");
IRD ird = new ReIRD("./game.iso", discKey);

Alternatively, the disc key can be extracted from a ManaGunZ log file:

IRD ird = new ReIRD("./game.iso", "./game.getkey.log");

Custom IRDs

Functionality is also provided for creating IRDs with a custom disc key, disc ID, and PIC:

byte[] discKey = new byte[16];
byte[] discID = new byte[16];
byte[] PIC = new byte[115];
// Set vars to desired values
IRD ird = new IRD("./game.iso", discKey, discID, discPIC);

As before, a ManaGunZ log file can also be used with an ISO to create a custom IRD, with the disc key, disc ID, and PIC all being extracted from the log file (rather than just the key).

IRD ird = new IRD("./game.iso", "./game.getkey.log");

Finally, an existing IRD file can be read to create an IRD:

IRD ird = IRD.Read("./game.ird")

An IRD can be then be tweaked, its fields printed, and written to a new IRD:

ird.UID = 0x9F1A51D8;
ird.Print();
ird.Write("game2.ird");
S
Description
.NET Library for PS3 ISO Rebuild Data, with example IRDKit implementation
Readme
379 KiB
Languages
C# 100%