一、基本概念
GetVersionEx
GetSystemInfo
GetWindowsDirectory
GetSystemDirectory
Getting System Information[2]
Time[3]
Registry[4~6,1:P291]
樣本:遍曆子鍵和索引值
二、其它
1、通過註冊表設定一個自啟動的程式
程式的自啟動有很多種方法,註冊表是其中最常用的一種,有多個鍵具有這種功能。最常用的有:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,只需設定REG_SZ類型的索引值,將值設定為程式的路徑即可使用程式在系統啟動時自啟動。如果只需要在下次系統啟動時自啟動一次,那麼可以設定鍵HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce的索引值。
2、設定隨程式啟動而啟動的調試器(任何程式)
也可以用於設定自啟動程式
HKEY_LOCAL_MACHINE\SOFTWAREYMicrosoft,\Windows NT\CurrentVersion\Image File Execution Options下的子鍵可以用於指定啟動調試器。如需要調試os_info.exe,在“Image FileExecution Options”鍵下建立子鍵“os_info.exe”;然後建立索引值,名為“Debugger”,類型為REG_SZ,資料為啟動調試器的命令列,這裡指向Windbg,如:“C:\Program Files\Debugging Tools forWindows\windbg.exe”(可以是任何可執行檔,比如notepad.exe,在載入鍵名稱程式模組時,會首先啟動“Debugger”索引值指定的應用程式,並以鍵名指向的可執行程式為參數)。運行os_info.exe就會啟動Windbg運行調試。
3、指定程式崩潰Just-in-Time 偵錯器
可以通過註冊表指定Just-in-Time 偵錯器,比如指定為WinDBG或OllyDBG等調試器。指定Just-in-Time 偵錯器的方法為指定註冊表鍵“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug”的“Debugger”索引值。
參考
[1] 精通Windows API 函數、介面、編程執行個體
[2] http://msdn.microsoft.com/en-us/library/ms724426%28VS.85%29.aspx
[3] http://msdn.microsoft.com/en-us/library/ms724962%28VS.85%29.aspx
[4] http://www.cnblogs.com/mydomain/archive/2010/10/29/1864013.html
[5] http://www.cnblogs.com/mydomain/archive/2010/10/18/1855124.html
[6] http://msdn.microsoft.com/en-us/library/ms724871%28VS.85%29.aspx