Como Encontrar o Seu HWID no Windows
Comandos passo a passo para ler identificadores de hardware reais — número de série da placa-mãe, número de série do disco, endereço MAC e MachineGuid — no Windows 10 e 11.
HWID Checker · 10 de agosto de 2026 · 3 min de leitura
Não existe um único "o HWID" — depende do atributo de hardware que um determinado software lê. Este guia mostra os comandos mais úteis no Windows, para que possa encontrar um identificador de hardware genuíno, e não apenas uma impressão digital do navegador.
Nota de privacidade: estes valores são números de série reais. Não os cole em fóruns públicos nem os envie a quem não seja de confiança.
Windows
Abra o PowerShell ou a Linha de Comandos e execute estes comandos um de cada vez.
Número de série da placa-mãe
wmic baseboard get serialnumber
Nota para o Windows 11 24H2: o
wmicfoi removido pela Microsoft. Se o comando acima devolver um erro, utilize a versão PowerShell CIM:Get-CimInstance Win32_BaseBoard | Select-Object SerialNumber
GUID do sistema (máquina)
O Windows guarda um GUID da máquina no registo. Este é o valor a que muitos sistemas de licenciamento chamam "HWID":
reg query "HKLM\SOFTWARE\Microsoft\Cryptography" /v MachineGuid
Número de série do disco
wmic diskdrive get serialnumber
Alternativa PowerShell CIM (24H2):
Get-CimInstance Win32_DiskDrive | Select-Object Model, SerialNumber
Endereço MAC
getmac
SMBIOS UUID
wmic csproduct get uuid
Alternativa PowerShell CIM (24H2):
Get-CimInstance Win32_ComputerSystemProduct | Select-Object UUID
Ler o HWID no seu próprio código
Se está a desenvolver software que precisa de identificar uma máquina, aqui estão exemplos mínimos em três linguagens. Cada um lê alguns identificadores de hardware e combina-os numa única impressão digital através de hash.
Go
package main
import (
"crypto/sha256"
"encoding/hex"
"fmt"
"os/exec"
"strings"
)
func main() {
uuid := run("wmic", "csproduct", "get", "uuid")
board := run("wmic", "baseboard", "get", "serialnumber")
disk := run("wmic", "diskdrive", "get", "serialnumber")
combined := strings.Join([]string{uuid, board, disk}, "|")
hash := sha256.Sum256([]byte(combined))
fmt.Println(hex.EncodeToString(hash[:]))
}
func run(name string, args ...string) string {
out, _ := exec.Command(name, args...).Output()
return strings.Join(strings.Fields(string(out)), " ")
}
C# (.NET)
using System.Management;
using System.Security.Cryptography;
using System.Text;
string cpu = new ManagementObjectSearcher("SELECT ProcessorId FROM Win32_Processor")
.Get().Cast<ManagementObject>().First()["ProcessorId"].ToString();
string board = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_BaseBoard")
.Get().Cast<ManagementObject>().First()["SerialNumber"].ToString();
string disk = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_DiskDrive")
.Get().Cast<ManagementObject>().First()["SerialNumber"].ToString();
string combined = $"{cpu}-{board}-{disk}";
byte[] hash = SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes(combined));
Console.WriteLine(Convert.ToHexString(hash));
Nota: o
System.Managementrequer o pacote NuGetSystem.Managementno .NET Core 3.1+ e .NET 5+.
Python
import subprocess, hashlib, re
def wmi(query):
r = subprocess.run(["wmic"] + query.split(), capture_output=True, text=True)
return re.sub(r"\s+", "", r.stdout.strip())
uuid = wmi("csproduct get uuid")
board = wmi("baseboard get serialnumber")
disk = wmi("diskdrive get serialnumber")
fingerprint = hashlib.sha256(f"{uuid}-{board}-{disk}".encode()).hexdigest()
print(fingerprint)
Uma nota sobre o ProcessorId da CPU: o valor devolvido por
wmic cpu get ProcessorId(ou a instrução CPUID) codifica o fabricante, a família, o modelo e o stepping da CPU — não é um número de série único por chip. Duas CPUs do mesmo modelo devolvem o mesmo ProcessorId. É útil como um componente de uma impressão digital composta, mas não é suficiente para identificar exclusivamente uma máquina por si só.
Para uma solução pronta para produção sem os casos especiais (deteção de VMs, números de série genéricos, suporte multiplataforma), consulte o repositório do projeto.
O que fazer com o valor
Assim que tiver um valor, cole-o no HWID Checker → separador Validar para confirmar o seu formato, ou no separador Analisar para ver a sua estrutura.
Lembre-se: um navegador não consegue ler estes números de série reais. A nossa ferramenta web gera, em vez disso, uma impressão digital do navegador. Se precisar de um hardware ID genuíno a partir de uma interface de estilo web, a ferramenta de ambiente de trabalho lê estes valores de forma nativa.