Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows 2000/NT/XP 管理員密碼遺失:四大解鎖方案完整比較

編輯:XP 系統基礎知識

遺失 Windows NT 系列(NT 4.0、2000、XP、Server 2003)管理員密碼時,無法以一般方式登入系統。本文整理四種主流解鎖方案,依操作難度、風險與適用場景分析比較,協助管理者依環境選擇最適方案。

方案一:刪除/重命名 SAM 檔案(最暴力、副作用最大)

原理

系統帳號資訊儲存於 %SystemRoot%\System32\Config\SAM 登錄檔。刪除或重命名此檔案,重開機後系統將重建預設帳號:Administrator(空密碼)與 Guest。

操作前提

  • 能以其他作業系統(Win98 開機碟、Linux Live CD、WinPE、另一套 Win2000/XP 等)存取系統分區
  • FAT32 分區:Win98 開機碟即可;NTFS 分區:需支援 NTFS 讀寫的工具(NTFS for DOS、WinPE、Linux ntfs-3g 等)

副作用

  • 所有原有使用者帳號、群組、權限設定全數遺失
  • 依賴特定服務帳號的服務(IIS、VMware、SQL Server 等)將無法啟動
  • Active Directory 環境下可能導致網域控制站功能異常

適用場景

非網域環境、帳號極少、可接受重建帳號與服務設定的獨立工作站/伺服器。

方案二:離線密碼編輯工具——Offline NT Password & Registry Editor

工具來源

Petter Nordahl-Hagen 官方網站

原理

製作開機媒體(軟碟/光碟/USB),啟動後直接掛載系統分區,離線修改 SAM 登錄檔重設密碼。

優缺點

  • 優點:保留原有帳號結構、SID、權限設定;支援 NTFS;作者持續更新
  • 缺點:直接操作登錄檔結構,極少數情況可能導致登錄損毀;需熟悉命令列操作

方案三:替換系統啟動程式執行密碼清除程式(進階技巧)

核心概念

替換系統啟動早期必定會執行的服務程式(如 svchost.exe),植入自訂程式在服務啟動時清除 Administrator 密碼,完成後再還原原程式。

為何選擇 svchost.exe?

系統核心程式(smss.exe、csrss.exe、winlogon.exe、services.exe、lsass.exe)任一異常即導致重開機;lsass.exe 啟動前無法修改密碼。svchost.exe 載入 RPC 等核心服務,幾乎所有 Windows 2000/XP 系統必定啟動,且在 LSASS 之後執行,滿足修改密碼時機。

操作流程

  1. 以其他系統掛載目標分區
  2. 備份 C:\Windows\System32\svchost.exe → svchost.bak.exe
  3. 複製自製清除密碼程式(CleanPwd.exe)為 svchost.exe
  4. 啟動目標系統,程式自動執行清除 Administrator 密碼並記錄日誌至 C:\CleanPwd.txt
  5. 以其他系統還原 svchost.bak.exe → svchost.exe
  6. 重開機以空密碼登入 Administrator

原始碼關鍵片段(C++,呼叫 NetUserSetInfo API)

DWORD SetUserPwd(char *user, char *pass) {
    wchar_t wuser[PWLEN], wpass[PWLEN];
    USER_INFO_1003 ui;
    mbstowcs(wuser, user, strlen(user)+1);
    mbstowcs(wpass, pass, strlen(pass)+1);
    ui.usri1003_password = wpass;
    return NetUserSetInfo(NULL, wuser, 1003, (LPBYTE)&ui, NULL);
}
// 主程式呼叫 SetUserPwd("administrator", "") 清空密碼

替代注入點

  • 其他自動啟動服務:WinMgmt.exe (WMI)、mstask.exe (工作排程)、regsvc.exe (遠端登錄)
  • 殺毒軟體服務程式(若已安裝且設為自動啟動)

方案四:替換螢幕保護程式登入前執行命令提示字元(經典技巧)

原理

登入畫面閒置一段時間後會啟動螢幕保護程式 logon.scr,以 SYSTEM 權限執行。將其替換為 cmd.exe 或 explorer.exe,等待螢幕保護程式觸發即可取得系統級命令提示字元,執行 net user administrator "" 清除密碼。

操作步驟

  1. 以其他系統掛載目標分區
  2. 備份 C:\Windows\System32\logon.scr
  3. 複製 cmd.exe 為 logon.scr
  4. 啟動目標系統,在登入畫面等待螢幕保護程式啟動(預設幾分鐘)
  5. 彈出的命令提示字元視窗即具備 SYSTEM 權限,執行密碼清除指令
  6. 關閉視窗,以空密碼登入
  7. 還原 logon.scr

方案比較總表

方案難度資料風險保留帳號結構適用環境需額外媒體
刪除 SAM低高(帳號全失)否獨立工作站、非關鍵伺服器是
Offline NT Password Editor中低是大多數單機/工作群組環境是
替換 svchost.exe高中(若還原失敗)是需保留完整帳號結構的生產環境是
替換 logon.scr中低是無法使用其他工具時的替代方案是

重要提醒

  • 所有方案均需實體存取或離線掛載分區能力,無法遠端利用
  • 操作前務必備份關鍵資料與系統狀態
  • 企業環境建議建立「密碼重設磁碟」或部署「自助式密碼重設」方案,避免單點故障
  • 網域環境下請聯繫網域管理員重設密碼,勿對網域控制站嘗試上述操作
Copyright © Windows教程網 All Rights Reserved