热文推荐
热点推荐
主页>社区>IT 技术与微软技术>编程开发>.NET

如何实现.net程序的进程注入_1


原文出处:中国站长站  2009/7/1 22:20:15 阅读 78 次


非续读浏览 | 发布资讯 | 评论 | 置顶 | 打印

进程注入比较常见,比如用IDE调试程序以及一些Spy程序,如果仅仅为了与调试器通讯,可以使用。net提供的Debugger接口(在EnvDTE.dll的EnvDTE命名空间下)。但无论出于什么目的,进程注入都是比较好玩的事情,所以不妨一试 . 进程注入的方法貌似很多(比如像特洛伊一样乔装打扮让目标进程误认为你的程序集合法而加载到目标进程),这里提到的仅是其中的一种或某些方法的结合。

大致原理是这样的:

源进程(也就是你的代码所在的进程)获得目标进程(也就是你的注入目标所在的进程)的ID或进程对象

源进程提供一回调函数methodA(也就是你想要注入到目标进程后所执行的代码)

将目标进程和回调函数methodA的完整路径(其所在的Assembly,Classic以及MethodName)提交给Injector(也就是我们编写的负责注入的类),让Injector来完成注入和让目标进程执行回调函数

Injector根据提供的目标进程ID取得目标进程对象,并获得目标进程的一个线程(我们称为目标线程)

在目标线程中分配一块内存,将回调函数methodA的完整路径作为字符串存入该内存中

Injector在目标进程中安装一个钩子(Hook)监视某一个Windows消息(messageA),撰写钩子的回调函数methodB(该方法中的内容稍后解释)



2 页  [1] [2]





相关阅读:
• 拓展动态编程的新领域 (2010/9/2 18:48:38)
• asp.net架构设计解惑 (2010/8/23 7:36:46)
• EXT结合ASP.NET的登陆系统演示 (2010/8/23 7:36:45)
• ASP.NET使用母版页统一网页标题 (2010/8/23 7:36:45)
• Message类的使用方法和效果 (2010/8/23 7:36:44)
• 图解Linux下如何搭建C#开发环境 (2010/7/27 19:20:18)
• 凯哥:经验之谈Java和.NET初级学习入门的区别 (2010/7/27 19:20:16)
• 如何保护.net中的dll文件(防破解、反编译) (2010/7/27 19:20:16)
• 25款.NET开发工具 (2010/7/27 19:20:15)
• 构建高性能ASP.NET站点剖析页面处理过程(一) (2010/7/27 19:20:13)

温馨提示


特别声明
 
最新热点资讯排行

• 全新Galaxy三星9月16举办新品发布会
• Vision/G2一部机器?HTC新品参数再泄露
• Wi-Fi集成电路出货量市场排名第二
• 用外观就秒杀你!大厂强劲LED液晶评测
• 超级网银并非免费午餐跨行转账收费标准或更高
• 首批互联网地图牌照九月发放
• 维基解密部分服务器被转移到地下30米防爆机房
• 暴雪欲请卡梅隆拍摄电影版《星际争霸》
• 微软MSN发布出口通业务基于必应海外关键词
• 超级网银暂不面向个人企业客户试点运行
• Gmail网络电话日呼叫量破百万
• 巴菲特的《财富》岁月:13次上杂志封面(组图)
• 英特尔英飞凌交易具十大意义:对网民影响最大
• IBM发布软件安全漏洞修复率排名:自家软件垫底
• 操盘指南:9月1日大陆内存走势报告
• 自制23×3英寸手把手教你如何玩转三屏