1. 程式人生 > >DLL註入之Appinit_Dlls

DLL註入之Appinit_Dlls

oca ntop htm ini family rem sele cnblogs 技術分享

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.

簡單的說就是:AppInit_DLLs用來全局註入dll模塊,凡是導入了user32.dll的程序都會 主動加載這個鍵值下的模塊。

相比XP,Win7下多了兩個值:
LoadAppInit_DLLs 為1開啟,為0關閉,(Win7默認為0)
RequireSignedAppInit_DLLs 值為1表明模塊需要簽名才能加載,反之。

AppInit_DLLs鍵值介紹(Win7系統)
http://msdn.microsoft.com/en-us/library/dd744762(v=vs.85).aspx

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]

32位系統:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows [AppInit_DLLs]

如何調試:
下USER32!LoadAppInitDlls斷點,後面NtOpenKey 和NtQueryValueKey 讀取AppInit_Dlls鍵值,得到模塊名,接著LoadLibrary該模塊。

jpg改rar 技術分享圖片

DLL註入之Appinit_Dlls