删除所有 Microsoft GDID 实例并阻止生成新的实例。
Deletes all instances of Microsoft's GDID and prevents minting of new ones

原始链接: https://github.com/yegors/deGDID

本仓库提供了一项研究成果及一个用于管理“全局设备标识符”(GDID)的加固工具(`degdid.ps1`)。GDID 是由微软 DeviceAdd 基础设施分配的 64 位设备 PUID。关键在于,即使是在本地账户下,Windows 也会生成此标识符;公开记录显示,微软可将这些 ID 与 URL、时间戳及 IP 地址进行关联。 所提供的 PowerShell 脚本专为非受管的个人版 Windows 10/11 安装环境设计。其工作原理是清除本地存储中现有的 GDID 状态,并通过网络层面的封锁,防止系统生成新的标识符。 **关键注意事项:** * **适用范围:** 本工具不会抑制常规遥测或基于浏览器的追踪;它专门针对 DeviceAdd 生命周期。 * **影响:** 封锁必要的网络通道会导致依赖微软账户的功能(如 Microsoft Store、Xbox、OneDrive 登录及手机连接)降级或失效。 * **使用说明:** 该工具需要在高权限的 PowerShell 会话中运行,旨在用于隐私研究与系统加固。用户应注意,本脚本按“原样”提供;输出的状态数据包含敏感的机器识别信息,切勿公开共享。 详细的文档、兼容性限制及恢复说明已包含在本仓库中。

Hacker News 上的一场讨论围绕着 yegors 的一个 GitHub 项目展开,该项目旨在删除微软的全局设备 ID(GDID)并阻止其重新生成。 评论者们对这一隐私措施的有效性和必要性展开了辩论。一些人认为,拥有一个唯一的 ID 或缺失该 ID 反而可能使设备更加显眼;另一些人则建议将“每次启动时更换 ID”作为对策。 争议的一个核心点在于,这些标识符是否被用于实质性的监视。一位用户称这种担忧为“偏执”,认为浏览器指纹识别才是更普遍的追踪方式。然而,另一位参与者对此提出异议,并引用了据称将此类标识符与监视联系起来的法庭文件,引发了对更多证据的需求。该讨论帖凸显了在实际安全工作与维护数字匿名性所面临的广泛挑战之间,持续存在的张力。
相关文章

原文

Last updated: 2026-07-16

Research and practical hardening for Microsoft's Global Device Identifier (GDID), a server-assigned installation identifier that Windows can acquire even when the interactive user has only a local account.

The repository documents the wider GDID lifecycle. The shipped degdid.ps1 has a narrower operational objective:

On a supported Windows target, remove real server-issued GDID state from the known local stores and keep the DeviceAdd path continuously blocked.

That is a GDID completion gate. It is not a general telemetry, browser-privacy, or court-record-channel suppression claim.

GDID is a server-assigned 64-bit Device PUID that Windows can mint through Microsoft's DeviceAdd infrastructure and retain across several local identity stores. A local Windows account does not prevent that machine-level mint.

Court reporting in 2026 established that Microsoft held a GDID-to-URL/time/IP association in one investigation. The public record does not identify the Windows component or network channel responsible; this tool makes no claim to block that unknown channel.

The mutation path is designed for an unmanaged personal Windows installation with one loaded human profile:

  • Windows 10 22H2/build 19045, or Windows 11 build 22000 or newer;
  • no domain, Entra, workplace, or MDM enrollment; and
  • an elevated 64-bit Windows PowerShell session.

Windows 11 25H2/build 26200 is the fully lab-validated line. Other accepted builds warn. Managed systems, ambiguous users, and multiple loaded human profiles are refused instead of guessed at.

Status can still inspect unsupported systems. See the usage guide for the complete eligibility rules.

Open an elevated PowerShell window:

.\degdid.ps1 -Status
.\degdid.ps1 -Protect
.\degdid.ps1 -Status

ProtectedNoRealGdid is the only complete result. Re-run Status after major Windows, firewall, security-product, or hosts-file changes.

To remove degdid's network controls:

Unblock allows Windows to mint a real GDID again. See the usage and CLI reference for every command, verdict, exit code, DryRun behavior, pre-first-online setup, and recovery details.

Protect:

  1. applies a dual-stack hosts block and checks the actual DeviceAdd path;
  2. refreshes firewall defense-in-depth where policy allows it;
  3. clears known GDID copies and device-identity rehydrate sources from the target user, .DEFAULT, and SYSTEM; and
  4. waits, rechecks the network gate, and refuses success if identity state returns.

The network gate is applied before identity mutation. If a required check fails, the script stops instead of continuing with a partial protection state.

Canonical protection uses Wipe. Decoy mode exists for research but is not considered a clean completion state. Technical mutation details live in countermeasures.md and surfaces.md.

ProtectedNoRealGdid means the supported environment was readable, no real-shaped PUID remained in the known inventory, and the DeviceAdd gate verified. It does not mean Microsoft deleted historical records or that unrelated telemetry stopped.

Status intentionally displays full local account, profile, PUID, and g:<decimal> values. Treat its output as private machine-identifying data.

The completed Windows 11 25H2/build-26200 lifecycle includes:

  • prevention before first network access;
  • natural mint, Protect, reboot, and repeated identity triggers;
  • more than 33 hours protected on the local-account lab VM;
  • Unblock, observed remint, reprotect, and clean reboot; and
  • an MSA-connected field run that remained protected through sign-out/in, sleep/resume, reboot, and 18 hours.

The evidence is bounded to the recorded machines and windows. Windows 10 and other Windows 11 builds are accepted with warnings, not equivalent lab claims. See the experiment index for the failures, fixes, timings, and limitations that produced the current design.

Expected compatibility impact

  • Blocking login.live.com, account.live.com, DDS, and the wlidsvc service path is expected to break or degrade MSA sign-in, Store and Xbox authentication, OneDrive MSA sign-in, Phone Link, CDP graph features, and related identity workflows.
  • Core desktop access worked in the lab.
  • Windows Update scan, Defender update, and historical blocked-period installs were observed, but a controlled pending cumulative update and feature update remain unvalidated.
  • Domain, Entra, MDM, and multiple-loaded-profile systems are refused rather than assigned speculative compatibility claims.
  • Use this work for research, privacy hardening, and analysis of opaque device identity.
  • It is not a guide to evade lawful process or commit crimes.
  • Do not commit private machine GDIDs, device tickets, unredacted Status JSON, or machine-identifying dumps. A cited public court example is source material, not a lab secret.

Licensed under the MIT License. The work is provided as-is, without warranty; you are responsible for changes made to your systems.

联系我们 contact @ memedata.com