Ir para o conteúdo principal
HWID Checker
hwidhow-towindows

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 wmic foi 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.Management requer o pacote NuGet System.Management no .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.