给一个应用程序插入dll的三种方式

1.使用注册表  这种方式依赖着User32.dll  
    当应用程序加载User32.dll,User32.dll会接收到一个DLL_PROCESS_ATTACH通知,当这个通知被处理时,User32.dll便检索注册表中保存的这个关键字的值,并且为字符串中指定的每个dll调用LoadLibrary函数。    
    这种方法优点是比较简单,缺点是几乎每个进程都会加载User32.dll,所以几乎每一个进程都会加载这些dll,这将影响进程的特性和健壮性。


2.使用钩子
    创建一个系统范围WH_GETMESSAGE钩子

3.使用远程线程

    其原理是利用CreateRemoteThread给另一个进程创建一个线程然后在CreateRemoteThread中设置回调函数为LoadLibrary,这个时候远程进程就会自动的回调LoadLibrary .

你可能感兴趣的:(user,dll)