Jump to content

Search the Community

Showing results for tags 'des algorithm'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Informatii generale
    • Anunturi importante
    • Bine ai venit
    • Proiecte RST
  • Sectiunea tehnica
    • Exploituri
    • Challenges (CTF)
    • Bug Bounty
    • Programare
    • Securitate web
    • Reverse engineering & exploit development
    • Mobile security
    • Sisteme de operare si discutii hardware
    • Electronica
    • Wireless Pentesting
    • Black SEO & monetizare
  • Tutoriale
    • Tutoriale in romana
    • Tutoriale in engleza
    • Tutoriale video
  • Programe
    • Programe hacking
    • Programe securitate
    • Programe utile
    • Free stuff
  • Discutii generale
    • RST Market
    • Off-topic
    • Discutii incepatori
    • Stiri securitate
    • Linkuri
    • Cosul de gunoi
  • Club Test's Topics
  • Clubul saraciei absolute's Topics
  • Chernobyl Hackers's Topics
  • Programming & Fun's Jokes / Funny pictures (programming related!)
  • Programming & Fun's Programming
  • Programming & Fun's Programming challenges
  • Bani pă net's Topics
  • Cumparaturi online's Topics
  • Web Development's Forum
  • 3D Print's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Yahoo


Jabber


Skype


Location


Interests


Occupation


Interests


Biography


Location

Found 1 result

  1. This tutorial will explain the basics of generating and verifying of HWID's. First things first, "What the hell is a HWID??" Most of you already know this so I will keep it short. Ever since Windows XP Product Activation came around, when the OS is installed an unique ID is generated for the basic hardware components in the system. This ensures that a software will be bound to those unique ID, so it can't be moved/run on other machines. Of course there are methods to bypass this, but this is not the scope of this tutorial. Also to make it more "secure" we will be using the triple DES algorithm to crypt the generated CPU and HDD Id's. A short overview: The class will be called Hwid and will contain 2 properties(CpuId,HddId plain text), Generate, Verify and EncryptString methods. The Verify method takes 2 parameters: password(used for DES) and path. The path can be also an URL to a website hosting the file with the HWID's. The void Main() contains a simple console application to see how Hwid class works. The code is commented and self explanatory I would say. Source code: hg clone https://bitbucket.org/rokill3r/hwid Hwid class class Hwid { private string _cpuId = string.Empty; private string _hddId = string.Empty; public Hwid() { _cpuId = GetCpuId(); _hddId = GetHddId("C"); } /// <summary> /// Gets first CPU unique ID /// </summary> /// <returns></returns> private string GetCpuId() { ManagementClass cpuManager = new ManagementClass("win32_processor"); ManagementObjectCollection cpuCollection = cpuManager.GetInstances(); foreach (ManagementObject cpu in cpuCollection) { // Return first CPU Id return cpu.Properties["processorID"].Value.ToString(); } return string.Empty; } /// <summary> /// Gets the drives unique ID /// </summary> /// <param name="drive">Drive name(eg: C,D..)</param> /// <returns></returns> private string GetHddId(string drive) { ManagementObject dsk = new ManagementObject(@"win32_logicaldisk.deviceid=""" + drive + @":"""); dsk.Get(); return dsk["VolumeSerialNumber"].ToString(); } /// <summary> /// Encrypts the HWID using tripple DES algorithm /// </summary> /// <param name="Message">String to crypt</param> /// <param name="Passphrase">Password to use when crypting</param> /// <returns></returns> private string EncryptString(string Message, string Passphrase) ... /// <summary> /// Generates an encrypted HWID /// </summary> /// <param name="password">Password for the DES crypt algorith</param> /// <returns>Encrypted HWID</returns> public string Generate(string password) { return EncryptString(_cpuId + _hddId, password); } public string Generate(string password, string path) { try { string cryptedHwid = EncryptString(_cpuId + _hddId, password); // Write the crypted Hwid to file System.IO.StreamWriter file = new System.IO.StreamWriter(path); file.WriteLine(cryptedHwid); file.Close(); return cryptedHwid; } catch (Exception ex) { return ex.Message; } } /// <summary> /// Generates an encrypted HWID using the tripple DES algorithm /// </summary> /// <param name="password">Password for the DES crypt algorithm</param> /// <param name="path">Path where the HWID will be saved</param> /// <returns>Encrypted HWID</returns> public string Verify(string password, string path) { try { string db = string.Empty; if (path.Contains("http")) { WebClient webClient = new WebClient(); db = webClient.DownloadString(path); webClient.Dispose(); } else { System.IO.StreamReader file = new System.IO.StreamReader(path); db = file.ReadToEnd(); file.Close(); } if (db.Contains(EncryptString(_cpuId + _hddId, password))) return "HWID OK"; else return "HWID NOT FOUND"; } catch (Exception ex) { return ex.Message; } } void Main() static void Main(string[] args) { Hwid hwid = new Hwid(); // Change this to your desired password; string password = "secret1234"; if (args.Length < 1) PrintHelp(); else switch (args[0]) { case "--display": { Console.WriteLine("CPU ID: " + hwid.CpuId); Console.WriteLine("HDD ID: " + hwid.HddId); Console.WriteLine(); break; } case "--generate": { if (args.Length < 2) { Console.WriteLine("Path not specified!"); break; } string path = args[1]; Console.WriteLine("Encrypted HWID: " + hwid.Generate(password, path)); // If we don't specify the path it will only return the encrypted string //Console.WriteLine("Encrypted HWID: " + hwid.Generate(password)); break; } case "--verify": { if (args.Length < 2) { Console.WriteLine("Path not specified!"); break; } string path = args[1]; Console.WriteLine(hwid.Verify(password, path)); break; } default: { PrintHelp(); break; } } Console.WriteLine("Press any key to continue . . ."); Console.ReadLine(); }
×
×
  • Create New...