DLL注入之Appinit_Dlls

Posted 狂客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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该模块。

jpg改rar 

以上是关于DLL注入之Appinit_Dlls的主要内容,如果未能解决你的问题,请参考以下文章

《逆向工程核心原理》学习笔记:DLL注入

《逆向工程核心原理》学习笔记:DLL注入

《逆向工程核心原理》学习笔记:DLL注入

c_cpp AppInit_DLLs注入

《逆向工程核心原理》之DLL注入

DLL注入之SetWindowsHook