// Token: 0x06000060 RID: 96 RVA: 0x000055D0 File Offset: 0x000037D0 public static string GetHWID() { uint num; uint num2; FileSystemFeature fileSystemFeature; HWIDUtilities.GetVolumeInformation("C:\\", null, 0, out num, out num2, out fileSystemFeature, null, 0); uint num3 = 32u; StringBuilder stringBuilder = new StringBuilder(32); HWIDUtilities.GetComputerNameA(stringBuilder, ref num3); string text = ""; foreach (char c2 in stringBuilder.ToString()) { text += ((byte)c2).ToString("x2"); } string arg = ""; byte[] source = HWIDUtilities.Invoke(0); for (int j = 0; j < 3; j++) { arg += BitConverter.ToInt32(source.Skip(j * 4).Take(4).ToArray <byte>(), 0); } string source2 = string.Format("{0}-{1}-{2}", arg, num, text); source2 = HWIDUtilities.HashFNV1a((from c in source2 select(byte) c).ToArray <byte>()).ToString(); return(Convert.ToBase64String((from c in source2 select(byte) c).ToArray <byte>())); }
// Token: 0x06000062 RID: 98 RVA: 0x00005774 File Offset: 0x00003974 public static byte[] Invoke(int level) { IntPtr intPtr = IntPtr.Zero; byte[] result; try { bool flag = IntPtr.Size == 4; bool flag2 = flag; byte[] array; if (flag2) { array = HWIDUtilities.x86CodeBytes; } else { array = HWIDUtilities.x64CodeBytes; } intPtr = HWIDUtilities.VirtualAlloc(IntPtr.Zero, new UIntPtr((uint)array.Length), AllocationType.COMMIT | AllocationType.RESERVE, MemoryProtection.EXECUTE_READWRITE); Marshal.Copy(array, 0, intPtr, array.Length); HWIDUtilities.CpuIDDelegate cpuIDDelegate = (HWIDUtilities.CpuIDDelegate)Marshal.GetDelegateForFunctionPointer(intPtr, typeof(HWIDUtilities.CpuIDDelegate)); GCHandle a = default(GCHandle); byte[] array2 = new byte[16]; try { a = GCHandle.Alloc(array2, GCHandleType.Pinned); cpuIDDelegate(level, array2); } finally { bool flag3 = a != default(GCHandle); bool flag4 = flag3; if (flag4) { a.Free(); } } result = array2; } finally { bool flag5 = intPtr != IntPtr.Zero; bool flag6 = flag5; if (flag6) { HWIDUtilities.VirtualFree(intPtr, 0u, 32768u); intPtr = IntPtr.Zero; } } return(result); }