DLL注入之Appinit_Dlls

少年恃险若平地,独倚长剑凌清秋。这篇文章主要讲述DLL注入之Appinit_Dlls相关的知识,希望能为你提供帮助。
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该模块。
【DLL注入之Appinit_Dlls】jpg改rar 

DLL注入之Appinit_Dlls

文章图片


    推荐阅读