Win32学习笔记(26)远程线程注入

本文介绍了远程线程注入的概念,它是安全领域中的关键技术,包括远程线程注入、APC注入等多种方式。通过示例代码详细阐述了如何在目标进程中注入DLL并执行自定义函数,特别是利用LoadLibrary函数来实现这一过程。最后,展示了注入成功的验证,并提到64位系统中需要注意的数据类型定义问题。

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

1.什么是注入?

所谓注入就是在第三方进程不知道或者不允许的情况下将模块或者代码写入对方进程空间,并设法执行的技术。

在安全领域,"注入"是非常重要的的一种技术手段,注入与反注入也一直处于不断变化的,而且也愈来愈激烈地对抗。

已知的注入方式:

远程线程注入、APC注入、消息钩子注入、注册表注入、导入表注入、输出发注入等等。

 

 

看一下上图。之前我们说的是,B进程帮A进程创建了一个线程。可是执行的是A进程中的代码,如果我们能执行自己的代码是不是就可以为所欲为了? 那么怎么实现呢?通常我们把要实现的功能封装到一个dll里,然后想办法让A进程加载这个dll。

我们知道我们在B中创建一个远程线程,让A进程中某个函数执行。B进程中要提供一个函数就是

ThreadProc()线程函数(在创建远程线程中我们知道我们创建远程线程需要线程函数地址——就是图中lpStartAddress所需参数)。我们看一下文档。

DWORD WINAPI ThreadProc(
  _In_ LPVOID lpParameter  
);

他需要的是一个四字节的参数,还有一个四字节的返回值。所以只要提供的线程函数符合这个格式就可以执行。所以我们可以让他执行另外一个函数,只要是结构一样就可以执行。

2.远程线程注入的流程:

 

在创建CreateRemoteThrea

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wzprabbit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值