VC++远程注入动态库的实现(6-1)

相关视频下载地址密码:huez

远程注入动态库,指的是在另外一个进程(远程进程)中创建导入动态库的线程(远程线程)。要完成的功能都在被导入的动态库中实现。

使用远程注入动态库技术,动态库文件不但可以运行,而且还具有良好的隐蔽性。动态库程序被注入到远程进程的地址空间中,它能够共享远程进程的资源,并且根据远程进程在操作系统中的级别访问响应的系统资源。另外,动态库程序没有独立的进程地址空间,从而避免了在操作系统中留下“蛛丝马迹”,达到了隐蔽自身的目的。

 

 

1 远程注入动态库基本原理

1 程序演示

在该程序中,需要选择要注入的远程进程,并且需要输入要注入的动态库名称。在注入的动态库中,实现弹出对话框的功能。当将动态库成功的注入到远程进程之后,动态库就会弹出对话框。为了实现多次注入,程序还必须实现为远程进程释放动态库的功能。如图1-11-21-3所示。

 

1-1 选择要注入的远程进程

 

1-2 动态库注入远程进程成功

 

 

1-3 动态库释放成功

2 动态库程序的实现

创建一个“MFC扩展动态库MFC扩展动态库见“VS2015动态库编程之MFC扩展动态库),在动态库项目的“dllmain.cpp”源文件的DllMain()函数中,加入如下代码

if (dwReason ==DLL_PROCESS_ATTACH)

{

       ........

      AfxMessageBox(_T("我是MFC_Extent_DLL_TestDLL.dll中的对话框"));

     }

以上代码的功能是,在动态库文件被导入时,会弹出对话框显示我是MFC_Extent_DLL_TestDLL.dll中的对话框。使用该对话框来模拟动态库要实现的功能,如果将动态库注入到远程线程成功,就会弹出该对话框。

3 注入程序的实现

“1 程序演示中可以看到,注入程序主要分为三个主要功能:显示当前进程、远程注入动态库和远程释放动态库。

3.1 注入程序界面设计

VS2015中创建一个基于对话框的程序。该程序的界面结构如图3-1所示。

 

3-1 注入程序界面设计


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值