예제 #1
0
        public FileMetric(byte[] rawBytes, bool ver17)
        {
            if (ver17)
            {
                Unknown0 = BitConverter.ToInt32(rawBytes, 0);
                Unknown1 = BitConverter.ToInt32(rawBytes, 4);

                FilenameStringOffset = BitConverter.ToInt32(rawBytes, 8);
                FilenameStringSize   = BitConverter.ToInt32(rawBytes, 12);

                Unknown2 = BitConverter.ToInt32(rawBytes, 16);
            }
            else
            {
                Unknown0 = BitConverter.ToInt32(rawBytes, 0);
                Unknown1 = BitConverter.ToInt32(rawBytes, 4);
                Unknown2 = BitConverter.ToInt32(rawBytes, 8);

                FilenameStringOffset = BitConverter.ToInt32(rawBytes, 12);
                FilenameStringSize   = BitConverter.ToInt32(rawBytes, 16);

                Unknown3 = BitConverter.ToInt32(rawBytes, 20);

                MFTInfo = new MFTInformation(rawBytes.Skip(24).Take(8).ToArray());
            }
        }
예제 #2
0
        public FileMetric(byte[] rawBytes, bool ver17)
        {
            if (ver17)
            {
                Unknown0 = BitConverter.ToInt32(rawBytes, 0);
                Unknown1 = BitConverter.ToInt32(rawBytes, 4);

                FilenameStringOffset = BitConverter.ToInt32(rawBytes, 8);
                FilenameStringSize = BitConverter.ToInt32(rawBytes, 12);

                Unknown2 = BitConverter.ToInt32(rawBytes, 16);
            }
            else
            {
                Unknown0 = BitConverter.ToInt32(rawBytes, 0);
                Unknown1 = BitConverter.ToInt32(rawBytes, 4);
                Unknown2 = BitConverter.ToInt32(rawBytes, 8);

                FilenameStringOffset = BitConverter.ToInt32(rawBytes, 12);
                FilenameStringSize = BitConverter.ToInt32(rawBytes, 16);

                Unknown3 = BitConverter.ToInt32(rawBytes, 20);

                MFTInfo = new MFTInformation(rawBytes.Skip(24).Take(8).ToArray());
            }
        }