-
Автор темы
- #1
как сделать привязку по швиду в c#
public static string GetMachineGuid()
{
var location = @"SOFTWARE\Microsoft\Cryptography";
var name = "MachineGuid";
using (var localMachineX64View = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)
)
{
using (var rk = localMachineX64View.OpenSubKey(location))
{
if (rk == null)
throw new KeyNotFoundException(
string.Format("Key Not Found: {0}", location));
var machineGuid = rk.GetValue(name);
if (machineGuid == null)
throw new IndexOutOfRangeException(
string.Format("Index Not Found: {0}", name));
return machineGuid.ToString();
}
}
}
а чтоб я челам мог выдавать сабку?Как самый ХУДШИЙ пример, вот.C#:public static string GetMachineGuid() { var location = @"SOFTWARE\Microsoft\Cryptography"; var name = "MachineGuid"; using (var localMachineX64View = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64) ) { using (var rk = localMachineX64View.OpenSubKey(location)) { if (rk == null) throw new KeyNotFoundException( string.Format("Key Not Found: {0}", location)); var machineGuid = rk.GetValue(name); if (machineGuid == null) throw new IndexOutOfRangeException( string.Format("Index Not Found: {0}", name)); return machineGuid.ToString(); } } }
string Result = Client.DownloadString("http://example.com");
if(Result.Contains(HWID.ToString()))
{
bool pass = true;
}
string result = Client.DownloadString("example.com/check.php?action=login&login=" + login + "&hwid="+ hwid");
int iResult = Convert.ToInt16(result);
if (iResult == 1)
{
bool pass = true;
}
Через второй вариант безопаснее?КАК САМЫЙ ХУДШИЙ ПРИМЕР:
Вручную вводишь HWID в txt файл и через WebClient получаешь его в виде строки в программу и сравниваешь
Хочешь лучше?C#:string Result = Client.DownloadString("http://example.com"); if(Result.Contains(HWID.ToString())) { bool pass = true; }
Как пример через PHP с базой данных MySQL.
Через WebClient.DownloadString скачиваем строку с параметрами login + pass + hwid получая на выходе текст/цифру и через проверку if сравнивать ответ с кодом программы
C#:string result = Client.DownloadString("example.com/check.php?action=login&login=" + login + "&hwid="+ hwid"); int iResult = Convert.ToInt16(result); if (iResult == 1) { bool pass = true; }
С минимальным шифрованием - даЧерез второй вариант безопаснее?
Пошли в дс помогукак сделать привязку по швиду в c#
string HWID = System.Security.Principal.WindowsIdentity.GetCurrent().User.Value;
Это уже бесполезно, все равно прогу вскроют и будут отправлять тот хвид, который крякеру необходимкак сделать привязку по швиду в c#
Если основная цель программы - слить бд юзеров, то да, это реально нужноСоздай к примеру бд в mysql и поищи в ютубе. c# mysql connectC#:string HWID = System.Security.Principal.WindowsIdentity.GetCurrent().User.Value;
Ну для начала, это для того что-бы программу как раз было сложнее крякнуть (лучше протект)Это уже бесполезно, все равно прогу вскроют и будут отправлять тот хвид, который крякеру необходим
Если основная цель программы - слить бд юзеров, то да, это реально нужно
Говоришь ерунду. Любая програ на шарпе очень легко вскрывается. А у тебя в коде будет подключение к бд с логином и паролем от учетной записи, шифрование поможет только при перехвате трафикабыло сложнее крякнуть
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz