playground:servers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
playground:servers [2025-05-14 16:23] geekplayground:servers [2025-05-14 17:25] (current) – [Fingerprinting] geek
Line 38: Line 38:
  
 Software licenses are usually tied to both a user of the software, and some number of computer systems that the software will be installed onto. In order to enforce the installation limit, one or more metrics of the computer system must be fingerprinted to validate that the user did not attempt to impermissibly transfer the software from one computer to another. Together, these collected metrics form what is called a "fingerprint". Software licenses are usually tied to both a user of the software, and some number of computer systems that the software will be installed onto. In order to enforce the installation limit, one or more metrics of the computer system must be fingerprinted to validate that the user did not attempt to impermissibly transfer the software from one computer to another. Together, these collected metrics form what is called a "fingerprint".
 +
 +Some metrics can change over the lifetime of a single installation. For example, the operating system version, processor, motherboard, storage volume identifier, etc. Generally, some components of a fingerprint are allowed to change as long as the remainder of the fingerprint remains the same, allowing a sort of "Ship of Theseus" style evolution of the fingerprint. The goal is to prevent the software from losing its license authorization because of regular maintenance of the system (like replacing a failed hard drive, upgrading the CPU and/or motherboard, upgrading the OS) while still preventing the software from being copied to a new system entirely.
  
 Here are some of the fingerprint-able metrics you can access from AutoHotkey: Here are some of the fingerprint-able metrics you can access from AutoHotkey:
Line 57: Line 59:
 <code autohotkey> <code autohotkey>
 MsgBox ComObjGet("winmgmts:").ExecQuery("Select SerialNumber from Win32_BIOS").ItemIndex(0).SerialNumber MsgBox ComObjGet("winmgmts:").ExecQuery("Select SerialNumber from Win32_BIOS").ItemIndex(0).SerialNumber
 +</code>
 +
 +Operating System Version:
 +<code autohotkey>
 +MsgBox A_OSVersion
 </code> </code>
  
Line 82: Line 89:
 </code> </code>
  
 +Storage volume identifiers: ''VOL > info.txt''
 +
 +Network card MAC addresses: ''%%Getmac /NH >> info.txt%%''
 +
 +Computer System Product UUID (This is used to identify an OEM PC, it may be generic for custom built PCs or VMs):
 +<code autohotkey>
 +MsgBox ComObjGet("winmgmts:").ExecQuery("Select UUID from Win32_ComputerSystemProduct").ItemIndex(0).UUID
 +</code>
 +
 +MachineGuid (This is used to identify a Windows installation, but can be spoofed or cloned sometimes even by accident using tools like CloneZilla):
 +<code autohotkey>
 +MsgBox RegRead("HKLM\SOFTWARE\Microsoft\Cryptography", "MachineGuid")
 +</code>
 ===== Oracle Free VPS ===== ===== Oracle Free VPS =====