76 lines
2.0 KiB
C#
76 lines
2.0 KiB
C#
using System;
|
|
using System.Management;
|
|
using System.Text;
|
|
|
|
namespace LevelCode.License.Security
|
|
{
|
|
public static class HwidService
|
|
{
|
|
// =========================
|
|
// GERAR HWID BRUTO
|
|
// =========================
|
|
public static string GerarHwid()
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
try
|
|
{
|
|
sb.Append(GetCpuId());
|
|
sb.Append("|");
|
|
sb.Append(GetDiskSerial());
|
|
sb.Append("|");
|
|
sb.Append(Environment.MachineName);
|
|
}
|
|
catch
|
|
{
|
|
sb.Append(Environment.MachineName);
|
|
}
|
|
|
|
return sb.ToString();
|
|
}
|
|
|
|
// =========================
|
|
// CPU ID
|
|
// =========================
|
|
private static string GetCpuId()
|
|
{
|
|
try
|
|
{
|
|
using (ManagementObjectSearcher searcher =
|
|
new ManagementObjectSearcher("SELECT ProcessorId FROM Win32_Processor"))
|
|
{
|
|
foreach (ManagementObject obj in searcher.Get())
|
|
{
|
|
return obj["ProcessorId"]?.ToString();
|
|
}
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
return "CPU_UNKNOWN";
|
|
}
|
|
|
|
// =========================
|
|
// DISK SERIAL
|
|
// =========================
|
|
private static string GetDiskSerial()
|
|
{
|
|
try
|
|
{
|
|
using (ManagementObjectSearcher searcher =
|
|
new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_PhysicalMedia"))
|
|
{
|
|
foreach (ManagementObject obj in searcher.Get())
|
|
{
|
|
if (obj["SerialNumber"] != null)
|
|
return obj["SerialNumber"].ToString().Trim();
|
|
}
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
return "DISK_UNKNOWN";
|
|
}
|
|
}
|
|
}
|