AppInit_DLLs is a mechanism that allows an arbitrary list of DLLs to be loaded into each user mode process on the system. Microsoft is modifying the AppInit DLLs facility in Windows 7 and Windows Server 2008 R2 to add a new code-signing requirement. This will help improve the system reliability and performance, as well as improve visibility into the origin of software.html
簡單的說就是:AppInit_DLLs用來全局注入dll模塊,凡是導入了user32.dll的程序都會 主動加載這個鍵值下的模塊。post
相比XP,Win7下多了兩個值:
LoadAppInit_DLLs 爲1開啓,爲0關閉,(Win7默認爲0)
RequireSignedAppInit_DLLs 值爲1代表模塊須要簽名才能加載,反之。ui
AppInit_DLLs鍵值介紹(Win7系統)
http://msdn.microsoft.com/en-us/library/dd744762(v=vs.85).aspxspa
64位系統:
AppInit_Dlls(64位程序讀取)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows [AppInit_DLLs]調試
AppInit_Dlls(32位程序讀取)
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows [AppInit_DLLs]code
32位系統:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows [AppInit_DLLs]orm
如何調試:
下USER32!LoadAppInitDlls斷點,後面NtOpenKey 和NtQueryValueKey 讀取AppInit_Dlls鍵值,獲得模塊名,接着LoadLibrary該模塊。htm
jpg改rar blog