C++ 实现远程注入DLL技术要点总结

由于新接了一个任务,就是通过封装自己的DLL来获取其他App进程空间中的部分信息。因此,最近几天都在研究DLL 注入其他进程的有关问题,通过Hook技术的了解,可以实现将MyDll注入到其他App中,但是,由于本人编程经验很有限,最后,经过高人指点,决定使用Windows中强大的CreateRemoteThread等相关函数来完成。其中,理论方面的精华来自于Internet及《Windows 核心编程》。。

现将远程注入DLL的实现方法总结如下:

Steps:

1.设计一个自己的DLL及调用它的exe,(这样就可以帮助我们很好的控制其他App)。

2.为你要操作控制的Proc(这里成为目标Proc)new一个线程,使用Windows中的HANDLE CreateRemoteThread();具体使用查阅MSDN,有很好的说明;

但是,在使用CreateRemoteThread时要注意对线程函数的内存地址的把握。

因此,需要为这个new Thread 申请一块有效的内存空间,并将该内存空间通过函数VirtualAllocEx复制到目标Proc中,注意使用VirtualFreeEx()释放内存。

3.最后,这个建立好的Thread使用动态加载DLL,即调用函数LoadLibraryA(),就可以实现目标了。

 

由于时间紧,并且还没有动手实现,因此,对该方法的进一步理解及讨论将在后面的Blog中揭晓。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值