DLL系列---关于Dll注入概论

这篇博客介绍了Dll注入的多种方法,包括通过注册表、Windows挂钩、远程线程、dll劫持、作为调试器以及使用CreateProcess等方式,深入探讨了DLL注入在应用程序和系统安全中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DLL系列---关于Dll注入概论

在Windows系统中每个进程都拥有自己的私有进程空间,当用指针来引用内存时只能是自己4Gb的进程空间中的一个地址,这样的好处就是当一个进程存在缺陷时不会影响其他进程同时极大的加强了系统的安全性。但是这样就很难形成进程之间的相互通信(如想要从一个进程窗口派生出子类窗口、辅助调试、给进程安装挂钩)。这里就提供了一种进程相互通信的方式,将一个dll注入到另一个进程地址空间中,这样通过这个dll就能实现很多操作了。

1.使用注册表注入dll

在注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
在AppInit_DLLs键值设置为我们想要被加载的dll绝对路径并将键值LoadAppInit_DLLs置为1(即启用初始化dll加载)。这样当程序需要调用User32.dll时都会取得该注册表值则就会加载我们的dll(因为每个进程均会加载User32.dll则我们写入注册表中的dll将被加载到每个进程空间)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值