}                                                         // Offset: 0x1410, Size: 0xF0

        public override byte[] ToByteArray()
        {
            var buffer = new byte[0x1500];

            base.ToByteArray().CopyTo(buffer, 0);
            ExheaderHash.CopyTo(buffer, 0x160);
            BitConverter.GetBytes(AdditionalHeaderSize).CopyTo(buffer, 0x180);
            BitConverter.GetBytes(SectorZeroOffset).CopyTo(buffer, 0x184);
            BitConverter.GetBytes(PartitionFlags).CopyTo(buffer, 0x188);
            PartitionIdTable.CopyTo(buffer, 0x190);
            Reserved1.CopyTo(buffer, 0x1D0);
            Reserved2.CopyTo(buffer, 0x1F0);
            BitConverter.GetBytes(Card2SaveAddress).CopyTo(buffer, 0x200);
            BitConverter.GetBytes(CardInfoBitmask).CopyTo(buffer, 0x204);
            Reserved3.CopyTo(buffer, 0x208);
            BitConverter.GetBytes(TitleVersion).CopyTo(buffer, 0x310);
            BitConverter.GetBytes(CardRevision).CopyTo(buffer, 0x312);
            Reserved4.CopyTo(buffer, 0x314);
            CardSeedY.CopyTo(buffer, 0x1000);
            EncryptedCardSeed.CopyTo(buffer, 0x1010);
            CardSeedAESMAC.CopyTo(buffer, 0x1020);
            CardSeedNonce.CopyTo(buffer, 0x1030);
            Reserved5.CopyTo(buffer, 0x103C);
            FirstNcchHeader.CopyTo(buffer, 0x1100);
            CardDeviceReserved1.CopyTo(buffer, 0x1200);
            TitleKey.CopyTo(buffer, 0x1400);
            CardDeviceReserved2.CopyTo(buffer, 0x1410);
            return(buffer);
        }
Exemple #2
0
 public override void Log(TextWriter writer)
 {
     base.Log(writer);
     writer.Write($"Reserved1({Reserved1:x4}) ");
     writer.WriteLine();
     writer.WriteLine($"\tvif({Vif}ms) vad({Vad}) numCodecs({NumCodecs})");
     foreach (var codec in Codecs)
     {
         writer.WriteLine($"\t{codec.Name} rate({codec.Rate}000/s) pt({codec.Pt})");
     }
     writer.Write($"\tReserved2({Reserved2.ToHex()}) ");
     writer.Write($"MCEI({MCEI}) ");
     writer.Write($"Reserved3({Reserved3:x2}) ");
     writer.Write($"PPN({PPN:x4}) ");
     writer.Write($"Reserved4({Reserved4.ToHex()}) ");
     writer.Write($"Local({LocalPort1}/{LocalPort2}) ");
     writer.Write($"Reserved5({Reserved5.ToHex()}) ");
     writer.Write($"Rx({RxIpAddress}:{RxPort1}/{RxPort2}) ");
     writer.Write($"Tx({TxIpAddress}:{TxPort1}/{TxPort2}) ");
 }