CN103106085A - 一种基于智能化远程线程注入技术方法 - Google Patents

一种基于智能化远程线程注入技术方法 Download PDF

Info

Publication number
CN103106085A
CN103106085A CN 201110369394 CN201110369394A CN103106085A CN 103106085 A CN103106085 A CN 103106085A CN 201110369394 CN201110369394 CN 201110369394 CN 201110369394 A CN201110369394 A CN 201110369394A CN 103106085 A CN103106085 A CN 103106085A
Authority
CN
China
Prior art keywords
dll
remote thread
function
remote
thread injection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 201110369394
Other languages
English (en)
Inventor
陆瑜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhenjiang Yihai Software Co Ltd
Original Assignee
Zhenjiang Yihai Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhenjiang Yihai Software Co Ltd filed Critical Zhenjiang Yihai Software Co Ltd
Priority to CN 201110369394 priority Critical patent/CN103106085A/zh
Publication of CN103106085A publication Critical patent/CN103106085A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种基于智能化远程线程注入技术方法:监控系统要求具有实时性和隐藏性,远程线程注入技术能实现在Windows系统下进程的隐藏。将监控程序编译成动态链接库文件,采用远程线程注入技术注入到系统进程运行,能有效地提高监控系统的安全性能。本方法分析了基于远程线程注入的监控系统的关键技术和实现方法,通过设置定时器的方法解决了系统实时性需求,通过给出的远程线程注入技术解决了隐藏性需求。最后分析采用两级监控和应对安全检测技术来提高监控系统的安全性。

Description

一种基于智能化远程线程注入技术方法
技术领域
本发明涉及一种基于智能化远程线程注入技术方法。这种方法是主要用在远程线程注入的监控系统实现的关键技术和实现方法,分析了在DLL中定时监控功能的实现,提出采用两级监控的方法来提高监控系统的功能。 
背景技术
监控系统必须要保证系统的正常运行,并最大程度地减少系统资源负担,同时要防止被用户结束,较为有效的方法就是把进程隐藏。进程隐藏的实现机制包括修改动态链接库、应用程序的接口挂钩、远程线程注入等方式。远程线程注入技术是指在指定远程进程中创建线程,通过注入到指定进程的内存地址空间。通过远程线程注入技术将所需的线程代码注入的目标进程中运行,不创建独立的进程,很难被发现,但常规的远程线程注入技术难以避过安全检测技术的检测。远程线程注入被广泛的运用到电脑病毒传播中,然而也由于其不易被使用者删除的特点可以协助管理人员安装监控、计费等系统管理程序而不被使用者破坏,达到安全管理的目的。 
发明内容
针对以上的不足,本发明的目的是提出一种基于智能化远程线程注入技术方法,实现在Windows系统下进程的隐藏,将监控程序编译成动态链接库文件,采用远程线程注入技术注入到系统进程运行,能有效地提高监控系统的安全性能。 
每一DLL必须有一个人口点,DllMain函数是DLL模块的默认入口点。DllMain负责初始化和结束工作。DLLMain函数在将DLL模块加载到进程时、DLL模块与进程分离时被调用。Delphi语言中,DLL入口由DLLProc传入。 
在DLL文件中编写一个线程执行体函数ThreadProc实现监控的功能,比如监控某个程序是否在运行,如果没有则重新启动这个程序。定时功能可调用API函数SetTimer实现,比用组件精度高。在DLL注入到目标进程后,将监控程序创建一个线程,启动过程如图2所示。创建和结束线程分别用到CreateThread函数和TerminateThread函数。 
CreateThread的函数定义: 
Figure BSA00000616051800011
Figure BSA00000616051800021
其中lpStartAddress,lpParameter,lpThreadId三个参数是必须的。lpStartAddress参数指向的是线程执行体ThreadProc的开始地址;lpParameter指针类型,线程的传入参数,给线程执行体ThreadProc传递数据;lpThreadId返回创建线程ID,这是控制线程必须的。 
实现监控功能的DLL文件的主要代码如下: 
Figure BSA00000616051800022
Figure BSA00000616051800031
Figure BSA00000616051800041
具体实施方式
远程线程注入技术的主要步骤如下: 
(1)调整权限,使程序可以访问其他进程的内存空间(EnableDebugPriv)。 
(2)得到远程进程的HANDLE(OpenProcess)。 
(3)在远程进程中为要注入的数据分配内存(VirtualAllocEx)。 
(4)将注入DLL复制到本进程,实现函数DLL装载过程(MapInjectFile)。 
(5)把DLL资源复制到分配的内存中(WriteProcessMemory)。 
(6)用CreateRemoteThread启动远程的线程 。

Claims (2)

1.一种基于智能化远程线程注入技术方法:远程线程注入是通过CreateRemoteThread函数建立一个远程线程,调用LoadLibrary函数来加载指定的DLL。
CreateRemoteThread函数的方法如下: 
Figure FSA00000616051700011
Figure FSA00000616051700012
在Windows系统下,每个进程都拥有自己的地址空间,各个进程之间都是相互独立的。需要在远程进程的内存空间里申请一块内存空间,写入需要注入的DLL的路径。需要用到的API函数有:
(1)OpenProcess():打开目标进程,得到目标进程的操作权限。
(2)VirtualAllocEx():用于在目标进程内存空间中申请内存空间以写入DLL的文件名。
(3)WriteProcessMemory():往申请到的空间中写入DLL的文件名。
2.根据权利要求1的远程线程注入技术方法,其特征是每一线程DLL必须有一个人口点,DllMain函数是DLL模块的默认入口点。DllMain负责初始化和结束工作。DLLMain函数在将DLL模块加载到进程时、DLL模块与进程分离时被调用。Delphi语言中,DLL入口由DLLProc传入。 
CN 201110369394 2011-11-15 2011-11-15 一种基于智能化远程线程注入技术方法 Pending CN103106085A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110369394 CN103106085A (zh) 2011-11-15 2011-11-15 一种基于智能化远程线程注入技术方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110369394 CN103106085A (zh) 2011-11-15 2011-11-15 一种基于智能化远程线程注入技术方法

Publications (1)

Publication Number Publication Date
CN103106085A true CN103106085A (zh) 2013-05-15

Family

ID=48313970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110369394 Pending CN103106085A (zh) 2011-11-15 2011-11-15 一种基于智能化远程线程注入技术方法

Country Status (1)

Country Link
CN (1) CN103106085A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014206295A1 (en) * 2013-06-25 2014-12-31 Tencent Technology (Shenzhen) Company Limited Method, device and computer-readable storage medium for monitoring uninstallation event in operation platform
CN106201633A (zh) * 2016-07-29 2016-12-07 腾讯科技(深圳)有限公司 一种注入dll文件的方法及装置
CN106371899A (zh) * 2015-07-22 2017-02-01 无锡天脉聚源传媒科技有限公司 一种线程参数的处理方法及装置
CN106708556A (zh) * 2016-07-19 2017-05-24 腾讯科技(深圳)有限公司 数据显示方法及装置
CN109726067A (zh) * 2017-10-30 2019-05-07 腾讯科技(深圳)有限公司 一种进程监控方法以及客户端设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014206295A1 (en) * 2013-06-25 2014-12-31 Tencent Technology (Shenzhen) Company Limited Method, device and computer-readable storage medium for monitoring uninstallation event in operation platform
CN106371899A (zh) * 2015-07-22 2017-02-01 无锡天脉聚源传媒科技有限公司 一种线程参数的处理方法及装置
CN106708556A (zh) * 2016-07-19 2017-05-24 腾讯科技(深圳)有限公司 数据显示方法及装置
CN106201633A (zh) * 2016-07-29 2016-12-07 腾讯科技(深圳)有限公司 一种注入dll文件的方法及装置
CN109726067A (zh) * 2017-10-30 2019-05-07 腾讯科技(深圳)有限公司 一种进程监控方法以及客户端设备
CN109726067B (zh) * 2017-10-30 2021-08-24 腾讯科技(深圳)有限公司 一种进程监控方法以及客户端设备

Similar Documents

Publication Publication Date Title
CN102841795A (zh) 一种远程线程注入技术方法
CN103106085A (zh) 一种基于智能化远程线程注入技术方法
CN102436566B (zh) 一种动态可信度量方法及安全嵌入式系统
Mohan et al. Real-time systems security through scheduler constraints
CN106155727B (zh) 一种应用程序的更新方法、装置及终端
WO2012088109A3 (en) Providing a security boundary
DE202015009286U1 (de) Kurzlebige Anwendungen
FR2912526A1 (fr) Procede de maintien du synchronisme d'execution entre plusieurs processeurs asynchrones fonctionnant en parallele de maniere redondante.
CN106980544B (zh) 一种线程同步方法及线程同步系统
KR20120095758A (ko) 가상 머신 스케줄 시점 조절 장치 및 방법
RU2015145292A (ru) Управление доступом во время выполнения к интерфейсам прикладного программирования
CN106325913A (zh) 应用程序启动方法及装置
Gao et al. E-android: A new energy profiling tool for smartphones
US11663337B2 (en) Methods and systems for system call reduction
CN106528065B (zh) 一种线程获取方法及设备
WO2016037553A1 (zh) 一种关闭应用程序的方法及装置
US20160277505A1 (en) Method and Device for Controlling Intelligent Terminal
US8225289B2 (en) Method and system for improved tool interaction with a target
WO2007050797A3 (en) Secure virtual-machine monitor
CN103309705A (zh) 终端应用程序激活方法和系统
CN108021807B (zh) Linux容器的细粒度沙盒策略执行方法
CN103037153A (zh) 一种基于摄像头的监测方法及具有摄像头的电子设备
CN105975333A (zh) 应用程序运行控制的方法及装置
CN112287357B (zh) 一种针对嵌入式裸机系统的控制流验证方法与系统
CN105335212A (zh) 一种基于分布式实施的云计算强制访问控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130515