Exemplo n.º 1
0
 public void CreateDiskIdViaConstructor()
 {
     foreach (var id in validIds)
     {
         var actual = new DiskId(id);
         Assert.True(actual.Id == id, $"Id: {id}");
     }
 }
Exemplo n.º 2
0
 public void DiskIdIsInvalid()
 {
     foreach (var id in invalidIds)
     {
         var actual = DiskId.IsValidDiskID(id);
         Assert.False(actual, $"Id: {id}");
     }
 }
Exemplo n.º 3
0
        private void DoUniqueId()
        {
            var volumeSerial = DiskId.GetDiskId();
            var cpuId        = CpuId.GetCpuId();
            var windowsId    = WindowsId.GetWindowsId();

            SimpleUid   = volumeSerial + cpuId;
            AdvancedUid = SimpleUid + windowsId;
        }
Exemplo n.º 4
0
        static UHWIDEngine()
        {
            var volumeSerial = DiskId.GetDiskId();
            var cpuId        = CpuId.GetCpuId();
            var windowsId    = WindowsId.GetWindowsId();

            SimpleUid   = volumeSerial + cpuId;
            AdvancedUid = SimpleUid + windowsId;
        }
Exemplo n.º 5
0
        /// <summary>
        /// Exports the current header to a 512 byte array
        /// </summary>
        /// <remarks>
        /// This will not validate the disk or update the header.
        /// Use <see cref="Validate"/> and <see cref="ComputeChecksum"/> before exporting
        /// </remarks>
        /// <returns>Raw header data</returns>
        public byte[] Export()
        {
            using (var MS = new MemoryStream())
            {
                using (var BW = new BinaryWriter(MS))
                {
                    BW.Write(Encoding.Default.GetBytes(Cookie));
                    BW.Write(Tools.ToNetwork((uint)Features));
                    BW.Write(Tools.ToNetwork((ushort)FileFormatVersion.Major));
                    BW.Write(Tools.ToNetwork((ushort)FileFormatVersion.Minor));
                    BW.Write(Tools.ToNetwork(DataOffset));
                    BW.Write(Tools.ToNetwork((int)VHD.ToDiskTimestamp(TimeStamp)));

                    BW.Write(Encoding.Default.GetBytes(CreatorApplication));
                    BW.Write(Tools.ToNetwork((ushort)CreatorVersion.Major));
                    BW.Write(Tools.ToNetwork((ushort)CreatorVersion.Minor));
                    BW.Write(Encoding.Default.GetBytes(CreatorHostOS));

                    BW.Write(Tools.ToNetwork(OriginalSize));
                    BW.Write(Tools.ToNetwork(CurrentSize));

                    BW.Write(Tools.ToNetwork((ushort)DiskGeometry.Cylinders));
                    BW.Write((byte)DiskGeometry.Heads);
                    BW.Write((byte)DiskGeometry.SectorsPerTrack);

                    BW.Write(Tools.ToNetwork((uint)DiskType));

                    BW.Write(Tools.ToNetwork(Checksum));

                    BW.Write(DiskId.ToByteArray());
                    BW.Write((byte)(SavedState ? 1 : 0));
                    BW.Write(Reserved);

                    BW.Flush();

                    return(MS.ToArray());
                }
            }
        }
Exemplo n.º 6
0
 public static string GetHwid()
 {
     return(MD5Hash(CpuId.GetCpuId() + DiskId.GetDiskId()));
 }
Exemplo n.º 7
0
        public void DiskIdIsNull()
        {
            var actual = DiskId.IsValidDiskID(null);

            Assert.False(actual, $"Id null");
        }