コード例 #1
0
        public void Save(Stream stream)
        {
            EndianReader writer = new EndianReader(stream, Endianness.BigEndian);

            Bk.Save(stream);
            writer.PadToMultiple(0x40);

            TMD.Save(stream);
            writer.PadToMultiple(0x40);

            if (RawData != null)
            {
                RawData.Position = 0;
                Util.StreamCopy(stream, RawData);
            }
            else if (Content != null)
            {
                byte[] iv = new byte[0x10];
                BigEndianConverter.GetBytes(Content.Index).CopyTo(iv, 0);
                AesStream astream = new AesStream(stream, Key, iv);
                Data.Position = 0;
                Util.StreamCopy(astream, Data);
                astream.Close();
            }

            writer.PadToMultiple(0x40);
        }