Free desktop tools and utilities for Windows. Download our software now.Free desktop tools and utilities for Windows. Download our software now.
free windows software utility
free windows software tools

Hardware Unique ID Extractor
Hardware serial number extractor library for programmers

Hardware unique ID extractor

DLL and source code


free software

Delphi programming C/C++  programming VB (Visual Basic)  programming










Hardware ID extractor - partition serial number,hard drive serial number,volume serial number







The Hardware ID Extractor is a library for programmers. It offers functions that extract data about your computer's hardware (CPU, HDD, RAM, main board, video BIOS), including unique hardware identification numbers. The data is extracted via low level functions DIRECTLY from computer's hardware. This means that the data cannot be faked!

The DLL is ideal for creating highly reliable protections schemes for your application.

Source code, compiled DLL and demo application are available.


Key features

  • Easily obtains unique computer fingerprint based on unique hardware serial numbers
  • Helps you to build protections systems (for example trial software) and banning systems (gaming)
  • Support .NET, Win32 and Microsoft VBA programming languages
  • Supports all Microsoft operating systems, from Windows 95 to Windows Vista and Window 7
  • It has no dependencies on other system components/libraries
  • No installation required
  • Free upgrades for life


Programming languages supported

The DLL provided was compiled using the standard calling convention (StdCall). Therefore, it is compatible with all modern programming languages such as C Builder, Visual C (basically all strains of C/C++), Visual Basic, Liberty Basic, Visual Fox Pro, Delphi, Lazarus, Free Pascal, PowerBuilder, Clarion, Visual Studio (C#, VB). The DLL also supports Microsoft VBA powered languages such as Word, PowerPoint 2000, 2003, 2007, Excel, Access or other scripted languages. Click here to see how to call the DLL from your language.



Hardware support


The functions offered by this library can read the following hardware information:


Hard disk


Hardware Unique ID Extractor Hard drive ID (Unique hardware serial number written in drive's IDE electronic chip)
      Supported hardware:

    • IDE
    • PATA (All old or modern parallel ATA drives)
    • SATA (All modern serial ATA drives)
    • SSD (Solid State Drive)

Hardware Unique ID Extractor Partition ID   (Unique volume serial number)



Hardware Unique ID Extractor CPU ID (Unique hardware ID)
* CPU vendor
* CPU running speed
* CPU theoretic speed

* Detects if the OS is running in IA64 mode

Hardware Unique ID Extractor CPU count (the number of LOGICAL processors)


Physical memory


*Memory Load ( Total memory used (%) )
Hardware Unique ID ExtractorTotal Physical ( Total physical memory in bytes )
*Avail Physical ( Physical memory left in bytes )
*Total PageFile ( Total page file in bytes )
*Available PageFile( Page file left in bytes )
*Total Virtual( Total virtual memory in bytes )
*Available Virtual ( Virtual memory left in bytes )

*The page size and the granularity of page protection and commitment

*Granularity with which virtual memory is allocated




Bios unique identification numberBiosDate

Bios unique identification numberBiosVersion

Bios unique identification numberBiosProductID

Bios unique identification numberBiosVideo


Detailed list off exported functions is available here.


hard drive unique hardware ID




Get the DLL now


You can download the DLL right now. It is FULLY functional and requires no installation. Some of the functions exported are free, others will display an ad. Get a key to unlock all functions (to stop it from displaying the ad).




Delivering the DLL with your applications


You can deliver our DLL along with your product. You don't need to install the DLL in Windows folder. Just leave it in your application's folder. If you want you can rename the DLL to anything you want - it will still work. The DLL is very small and doesn't need to be registered with RegSvr32.




Royalty free

The DLL/source code is royalty free. Once you purchase it you can distribute it with your own applications.






This library can be used to:

  • get machine's unique hardware fingerprint
  • create protection systems for your trial software to dramatically increase profit
  • uniquely identify a registered customer
  • uniquely identify a trial user (possible customer)
  • uniquely identify a game player (anti-cheating system)
  • banning systems
  • prevents unauthorized software installation/use
  • tracking a specific computer user
  • list hardware information of a computer



Why any programmer MUST use hardware-signed keys?


Using hardware-signed keys you will increase your profit. There is a chain of three events that leads to increased revenue:

  1. Hardware-signed keys can be used only in a specific computer.
  2. Therefore, your keys will not be leaked anymore over the Internet which means there will be ZERO illegal copies of your software.
  3. No illegal copies of your software means increased (even up to ten times) revenue.


Why our library is the best?


There are several good reasons to choose our library:



For example when they read the HDD they get the volume ID. This number is indeed unique but it changes every time the user formats the drive to reinstall its operating system. We also offer a function to read this number. However, we offer the real deal: a function that reads the device ID written by manufacturer in hard drive's IDE chip. This number is absolutely unique on the planet (no other hard drive has this ID) and it is 100% unchangeable.



The same for CPU. They offer a function to read the unique serial number of the CPU. While this worked perfectly with single core CPUs, none of the libraries we have tested works properly with multi core CPUs. This is because the application can have access only to the core in which it currently runs. Unfortunately, Windows can start the application in any core, therefore you will probably see four different ID's for a quad-core CPU. Our library is the only one that works properly and extracts the correct CPU ID number. Note:



Other libraries offer you a function to read the MAC of the network card. We just decided not to bother offering such a functions since the MAC can be so easily changed.



There is also the "small" issue called PRICE. Similar libraries force you to pay the big buck to purchase them. Usually the prices are around $100 for DLL and many hundredths of dollars for source code.



Other DLLs does not allow you low level access to the functions that extract the hardware identification numbers (maybe they try to hide that their library don't extract the true serial numbers). Instead the offer you access to a single function that extracts some the numbers hashes (MD5) these numbers and finally returns to you the hash. Our DLL gives you access to all its inner working! You can decide which hardware to read and which not and to implement the protection system exactly the way you want/need!



Overall, most concurrent products around do not offer you the true hardware ID, are really expensive, don't show you what happens under the hood, don't provide the code, are unreliable or difficult to use.







Here you can download the DLL, the source code and a compiled demo application called Hardware ID Extractor that reads the hardware information and displays it on screen. This demonstration application is 100% freeware. See screenshot.








The source code


The Hardware ID Extractor source code can be purchased separately. The source code contains assembler code and very few Windows API calls. The source code was tested under Delphi 7, Delphi 2006 and Delphi 2007. We offer the code as it is. We cannot offer support for other programming languages/versions, but since you have the source code you can easily adapt it for your needs. Of course, if you purchase the source code you won't have to distribute any DLL with your application anymore.




Functions exported by the DLL & additional info


The Hardware ID Extractor library was written in Delphi. However, it is available to all programers via our DLL. All functions in the DLL are exported a stdcall so the DLL is fully compatible with C, C++, Visual Basic (all editions), Dot Net languages (C# etc), Java, FoxPro, Liberty Basic, etc

Most of these functions are also available via our DLL; other functions are used internally and are not exported by the DLL.



How to call the DLL from your programming language


In this page you will find examples of how to call the DLL and to use the functions exported from your preferred programming language (C, VB, C#, FoxPro, VBA, Basic, Java, etc).

After you load the DLL you can access the hardware information as easy as calling a single function.




Additional info


Future plans

  • Mainboard hardware ID detection
  • REAL network card unique hardware ID (MAC) detection
  • BIOS hardware ID detection (done)
  • Computer/laptop manufacturer detection (done)


Related articles



Programming tutorials



Related programs


Windows memory memory statistics

Word Extractor - Word Extractor is a universal hacking tool that extracts (human) text from binary (machine) files.


free windows desktop software utility

Hardware ID Extractor Support