Free desktop tools and utilities for Windows. Download our software now.Free desktop tools and utilities for Windows. Download our software now.
molecular biology software
scf trace assembly

Hardware Unique ID Extractor
Hardware serial number extractor library

Hardware unique ID extractor

-DLL and source code available-












This page was moved here














free software

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





Product description

Key features

Application area

Hardware support


Why our library is the best?

Programming languages supported

Example application (compiled)

Future plans

Related programming resources




DLL versus source code

Functions exported

How to call it from your language

How to import the DLL - Code snippets








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







The Hardware ID Extractor is a library for programmers (both Microsoft Windows and Linux). It offers functions that extract data about your computer's hardware (CPU, HDD, RAM, main board, video BIOS), including unique hardware identification numbers. Source code & compiled DLL 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


Application area


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


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)

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.






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).




DLL versus source code

If you have multiple applications delivered in your product's package, 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.

Using the source code, you can also chose to compile your own DLL or to integrate the functionality directly into your application.




Programming languages supported

The DLL provided was compiled using the standard calling convention (StdCall). Therefore, it is compatible with ALL programming languages that support this calling convention. 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), etc are all able to use the DLL.

If your programming language does not support this calling convention (it must be a really old programming language), use the source code to compile your own DLL or to integrate the functionality directly into your application. The DLL also supports Microsoft VBA powered languages such as Word, PowerPoint 2000, 2003, 2007, Excel, Access, etc.




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.




Source code/Exported functions


The Hardware ID Extractor library was written in Delphi. The source code also contains Windows API calls and assembler code. Most of these functions are also available via our DLL; other functions are used internally and are not exported by the DLL. To see all functions available in this library please see this document: Delphi programmers, C (and other) programmers.




How to call the functions exported by the DLL from your programming language


In this page you will find examples of how to use the functions exported by the DLL from your preferred programming language. After you load the DLL you can access read the hardware information as simple as calling the appropriate function.




Example application (compiled)


Here you can find the source code and complied EXE of a demonstration application called Hardware ID Extractor that reads the hardware information and displays it on screen. This demonstration application is 100% freeware. See screenshot.




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.




Related key words: Get disk serial, real hard drive serial number, hardware ID number, programming code, DLL library, extract hardware info, get CPU producer frequency and produce

contig assembly software