[发明专利]一种远程线程注入技术方法无效
申请号: | 201110172279.8 | 申请日: | 2011-06-24 |
公开(公告)号: | CN102841795A | 公开(公告)日: | 2012-12-26 |
发明(设计)人: | 杨际荣 | 申请(专利权)人: | 镇江华扬信息科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F11/30;G06F21/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 212009 江苏省镇江市新区*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 远程 线程 注入 技术 方法 | ||
技术领域
本发明涉及一种远程线程注入技术方法。这种方法是主要用在远程线程注入的监控系统实现的关键技术和实现方法,分析了在DLL中定时监控功能的实现,提出采用两级监控的方法来提高监控系统的功能。
背景技术
监控系统必须要保证系统的正常运行,并最大程度地减少系统资源负担,同时要防止被用户结束,较为有效的方法就是把进程隐藏。进程隐藏的实现机制包括修改动态链接库、应用程序的接口挂钩、远程线程注入等方式。远程线程注入技术是指在指定远程进程中创建线程,通过注入到指定进程的内存地址空间。通过远程线程注入技术将所需的线程代码注入的目标进程中运行,不创建独立的进程,很难被发现,但常规的远程线程注入技术难以避过安全检测技术的检测。远程线程注入被广泛的运用到电脑病毒传播中,然而也由于其不易被使用者删除的特点可以协助管理人员安装监控、计费等系统管理程序而不被使用者破坏,达到安全管理的目的。
发明内容
针对以上的不足,本发明的目的是提出一种远程线程注入技术方法,实现在Windows系统下进程的隐藏,将监控程序编译成动态链接库文件,采用远程线程注入技术注入到系统进程运行,能有效地提高监控系统的安全性能。
每一DLL必须有一个人口点,DllMain函数是DLL模块的默认入口点。DllMain负责初始化和结束工作。DLLMain函数在将DLL模块加载到进程时、DLL模块与进程分离时被调用。Delphi语言中,DLL入口由DLLProc传入。
在DLL文件中编写一个线程执行体函数ThreadProc实现监控的功能,比如监控某个程序是否在运行,如果没有则重新启动这个程序。定时功能可调用API函数SetTimer实现,比用组件精度高。在DLL注入到目标进程后,将监控程序创建一个线程,启动过程如图2所示。创建和结束线程分别用到CreateThread函数和TerminateThread函数。
CreateThread的函数定义:
其中lpStartAddress,lpParameter,lpThreadId三个参数是必须的。
lpStartAddress参数指向的是线程执行体ThreadProc的开始地址;lpParameter指针类型,线程的传入参数,给线程执行体ThreadProc传递数据;lpThreadId返回创建线程ID,这是控制线程必须的。
实现监控功能的DLL文件的主要代码如下:
具体实施方式
远程线程注入技术的主要步骤如下:
(1)调整权限,使程序可以访问其他进程的内存空间(EnableDebugPriv)。
(2)得到远程进程的HANDLE(OpenProcess)。
(3)在远程进程中为要注入的数据分配内存(VirtualAllocEx)。
(4)将注入DLL复制到本进程,实现函数DLL装载过程(MapInjectFile)。
(5)把DLL资源复制到分配的内存中(WriteProcessMemory)。
(6)用CreateRemoteThread启动远程的线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于镇江华扬信息科技有限公司,未经镇江华扬信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110172279.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:模具排气装置
- 下一篇:一种提高畜禽采食量的口服液制剂及其制备方法