本文技術僅適用於 Windows 2000/NT 4.0 歷史環境。 Windows Vista 起引入 Credential Providers 架構,GINA 已被棄用;現代系統 (Win10/11) 無法通過替換 GINA 實現此功能,且嘗試修改系統認證流程可能導致無法登入、安全性降低。請僅作歷史技術研究參考。
winlogon.exe,負責互動式登入、安全注意序列 (SAS) 處理、工作站鎖定。msgina.dll),實際執行「輸入用戶名/密碼」UI 與驗證邏輯。WlxLoggedOnSAS。MyGina。.def 定義檔或 __declspec(dllexport)。核心函數:WlxNegotiate、WlxInitialize、WlxLoggedOnSAS、WlxActivateUserShell 等。WlxLoggedOnSAS:int WINAPI WlxLoggedOnSAS(PWLX_NOTIFICATION_INFO pInfo, DWORD dwSasType)
{
// dwSasType == WLX_SAS_TYPE_CTRL_ALT_DEL
// 直接返回「無動作」,阻止彈出「Windows 安全性」對話框
return WLX_SAS_ACTION_NONE;
}
其餘函數直接轉呼叫原版 msgina.dll 對應函數 (需 LoadLibrary + GetProcAddress),保持標準登入流程不變。copy MyGina.dll %SystemRoot%\System32\
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v GinaDLL /t REG_SZ /d MyGina.dll /f
重啟生效。| 風險 | 說明 |
|---|---|
| 系統無法啟動 | GINA DLL 載入失敗會導致藍屏或登入迴圈,需進入安全模式或 PE 修復註冊表。 | 安全性降低 | 繞過 SAS 會失去鎖定工作站、切換用戶、工作管理員等安全功能。 |
| 相容性 | 僅限 Win2000/NT/XP (需關閉快速用戶切換);Vista+ 完全不支援。 |
Computer Configuration → Administrative Templates → System → Ctrl+Alt+Del Options 可移除「工作管理員」等選項,但無法完全屏蔽組合鍵。GINA 替換是 Windows 2000 時代「深度系統定製」的經典案例,展示了微軟早期為企業客戶提供的靈活性。隨著安全模型演進 (Vista+ 安全桌面、VBS、HVCI),系統關鍵路徑已封閉,開發者應轉向官方支援的擴展機制,避免走上不歸路。