07 2012 档案
摘要:
在前面关于CLR寄宿的几篇博客(CLR寄宿(上) MSCOREE.DLL,CLR寄宿(中) 托管exe文件的加载和执行,CLR寄宿(下) 托管宿主)中,介绍了常用的宿主接口。宿主接口,允许我们使用非托管代码创建CLR宿主,从而启动CLR,运行托管代码,控制垃圾回收……等一系列功能。本篇博文要讲解的是使用CLR宿主的一个场景——进程注入。
进程注入是一种将代码注入到已有进程地址空间内,并执行的技术。进程注入的技术有很多,本文基于LoadDLL&CreateRemoteThread技术来讲解。
一般而言,我们会将要执行的代码编译到DLL文件里,然后加载到目标进程内执行。对于一个非托管DLL直接加载并执行就可以了,但是如果想把一个托管DLL加载到进程中并执行就要费一番周折,因为托管代码是不能直接执行的,要经过CLR的二次编译。如何解决这个问题呢?
因为环境对进程注入的影响很大,我这里先列出
阅读全文

搜索
积分与排名
- 积分 - 673077
- 排名 - 833
随笔分类 (261)
随笔档案 (304)
- 2020年4月(2)
- 2019年12月(1)
- 2019年1月(1)
- 2018年12月(1)
- 2018年11月(2)
- 2018年8月(7)
- 2018年4月(1)
- 2017年6月(6)
- 2017年4月(3)
- 2017年2月(1)
- 2017年1月(3)
- 2016年12月(2)
- 2016年11月(6)
- 2016年10月(14)
- 2016年9月(6)
- 2016年8月(28)
- 2016年7月(9)
- 2016年6月(2)
- 2016年5月(5)
- 2016年4月(2)
- 2016年3月(2)
- 2016年2月(1)
- 2016年1月(3)
- 2015年12月(1)
- 2015年11月(1)
- 2015年9月(1)
- 2015年8月(2)
- 2015年7月(2)
- 2015年1月(5)
- 2014年12月(3)
- 2014年11月(5)
- 2014年10月(4)
- 2014年9月(3)
- 2014年8月(11)
- 2014年4月(13)
- 2014年3月(4)
- 2013年12月(8)
- 2013年11月(2)
- 2013年10月(1)
- 2013年6月(1)
- 2013年5月(1)
- 2013年4月(2)
- 2012年7月(1)
- 2012年6月(50)
- 2012年5月(4)
- 2012年4月(1)
- 2012年1月(4)
- 2011年10月(1)
- 2011年7月(3)
- 2011年6月(6)
- 2011年5月(1)
- 2011年3月(1)
- 2011年2月(2)
- 2010年7月(1)
- 2010年4月(4)
- 2010年3月(1)
- 2010年2月(23)
- 2009年4月(3)
- 2009年1月(3)
- 2008年11月(5)
- 2008年10月(6)
- 2008年9月(1)
- 2008年8月(1)
- 2008年7月(3)
- 2008年6月(1)
- 更多
友情链接
最新评论
- 1. Re:说说emit(中)ILGenerator
十年过去了,依然是好文 !!
- --生命体验之kevin-Y