首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Windows 9x 自動啟動程式的 10 種方法與安全防護

     編輯:關於C++

Windows 9x 系統提供多達十種以上的自動啟動機制,既是軟體安裝便利性的體現,也是惡意程式(病毒、木馬)駐留系統的主要手段。本文系統梳理這 10 種方法,並說明其註冊表/檔案位置、運作原理與安全風險,幫助開發者與系統管理員識別並防範異常啟動項目。

十大自動啟動方法詳解

#方法位置 / 設定特點與風險
1啟動資料夾C:\Windows\Start Menu\Programs\Startup
註冊表:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Startup
最直觀、使用者可見、易手動移除。路徑可被程式修改。
2Win.ini[windows] load=file.exe / run=file.exe16 位元相容機制,仍被部分舊軟體/惡意程式利用。
3System.ini[boot] Shell=Explorer.exe file.exe修改 Shell 啟動命令,極高風險,可能導致系統無法正常啟動。
4winstart.batC:\Windows\winstart.bat每次啟動執行,隱蔽性較高,常被忽略。
5註冊表 Run 鍵值HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\...\RunOnce
HKLM\...\RunServices
HKLM\...\RunServicesOnce
HKCU\...\Run
HKCU\...\RunOnce
HKCU\...\RunServices
最主流、最常用機制。HKLM 影響所有使用者,HKCU 僅當前使用者。RunOnce 只執行一次後自動刪除。
6wininit.iniC:\Windows\wininit.ini(執行後自動刪除)
範例:[Rename] NUL=c:\windows\picture.exe(刪除檔案)
安裝程式常用於重開機後替換/刪除鎖定檔案。極隱蔽,執行後自毀。
7Autoexec.batC:\Autoexec.batDOS 時代遺留,進入 Windows 前執行,可載入 TSR 程式或修改環境。
8Shell Spawning (檔案關聯劫持)HKCR\exefile\shell\open\command @="\"%1\" %*"
同類:comfile, batfile, piffile, htafile
及 HKLM\Software\Classes\... 對應鍵值
極度危險:將預設的 "%1" %* 改為 "server.exe %1 %*",導致所有 exe/com/bat/hta/pif 執行前先跑 server.exe。SubSeven 等木馬常用手法。
9ICQ AgentHKCU\Software\Mirabilis\ICQ\Agent\Apps\test
Path, Startup, Parameters, Enable
ICQ 偵測到網路連線時啟動指定程式。類似機制可能存在於其他 IM 軟體。
10雜項:NeverShowExtHKCR\ShellScrap NeverShowExt=""隱藏特定副檔名(如 .shs),abc.jpg.shs 僅顯示 abc.jpg,利用社交工程誤導使用者執行惡意腳本。

安全防護與檢測建議

  1. 定期稽核:使用 msconfig、Autoruns (Sysinternals) 完整掃描所有啟動點。
  2. 監控關鍵路徑:檔案系統監視(FindFirstChangeNotification)監控啟動資料夾、winstart.bat、wininit.ini 變更。
  3. 註冊表保護:監視 Run/RunOnce/RunServices、Shell\Open\Command 等關鍵鍵值異動。
  4. 副檔名顯示:資料夾選項 → 取消「隱藏已知檔案類型的副檔名」,刪除註冊表中多餘 NeverShowExt。
  5. 最小權限原則:日常使用標準使用者帳號,限制寫入 HKLM、系統目錄權限。
  6. 注意 Win2K/XP 差異:部分機制(如 winstart.bat、System.ini Shell=)在 NT 核心系統行為不同或已廢除,需實測驗證。

開發者視角

  • 合法軟體應優先使用 HKCU\Run 或啟動資料夾,避免污染 HKLM 影響其他使用者。
  • 提供明確的「開機自動啟動」勾選選項,尊重使用者選擇。
  • 解除安裝時務必清理所有建立的啟動項目。

理解自動啟動機制,不僅能開發更友善的軟體,更是系統安全防護的核心技能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved