一种Windows平台下的dll注入方法及系统技术方案

技术编号:25086710 阅读:35 留言:0更新日期:2020-07-31 23:30
本发明专利技术涉及一种Windows平台下的dll注入方法及系统,包括步骤如下:S01.准备注入程序;S02.提升操作者自身权限;S03.向目标进程发送断点事件;S04.目标进程响应断点事件;S05.目标进程运行到断点处,程序暂停,保存堆栈的返回地址,并修改为注入程序的地址;S06.修正注入程序的代码,使其执行完毕后返回到原本的返回地址;S07.目标程序继续运行返回到注入程序部分,注入程序运行完成dll注入;S08.目标程序跳转到已保存的返回地址继续运行,通过向目标程序发送断点事件,修改断点返回地址,跳转到shellcode完成dll注入,解决了现有技术中无法向正在运行的进程进行dll注入的问题,成功率高,且受限条件少。

【技术实现步骤摘要】
一种Windows平台下的dll注入方法及系统
本专利技术涉及数据安全
,具体的说是一种Windows平台下的dll注入方法及系统。
技术介绍
DLL是DynamicLinkLibrary的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用,一个应用程序可有多个DLL文件。在Windows操作系统中,运行的每一个进程都生活在自己的程序空间中,理论上而言,运行在操作系统上的每一个进程之间都是互不干扰的,即每个进程都会拥有独立的地址空间,DLL注入就是将一个DLL放进某个进程的地址空间里,让它成为那个进程的一部分,让目标进程加载自己的dll文件。dll文件被加载后,可以运行dll里所期望的功能,例如获取函数地址,监测进程等。进程注入的方式一般是通过修改进程里的代码、数据,或向进程写入代码、数据,或修改dll文件名的方式实现的,该方式的应用场景是进程尚未启动时或正在启动时,并且有的方案不能再本文档来自技高网...

【技术保护点】
1.一种Windows平台下的dll注入方法,其特征在于,包括如下步骤:/nS01.准备注入程序;/nS02.提升操作者自身权限,获得SeDebugPrivilege权限;/nS03.向目标进程发送断点事件;/nS04.目标进程响应断点事件;/nS05.目标进程运行到断点处,程序暂停,保存堆栈的返回地址,并修改为注入程序的地址;/nS06.修正注入程序的代码,使其执行完毕后返回到原本的返回地址;/nS07.目标程序继续运行返回到注入程序部分,注入程序运行完成dll注入;/nS08.目标程序跳转到已保存的返回地址继续运行。/n

【技术特征摘要】
1.一种Windows平台下的dll注入方法,其特征在于,包括如下步骤:
S01.准备注入程序;
S02.提升操作者自身权限,获得SeDebugPrivilege权限;
S03.向目标进程发送断点事件;
S04.目标进程响应断点事件;
S05.目标进程运行到断点处,程序暂停,保存堆栈的返回地址,并修改为注入程序的地址;
S06.修正注入程序的代码,使其执行完毕后返回到原本的返回地址;
S07.目标程序继续运行返回到注入程序部分,注入程序运行完成dll注入;
S08.目标程序跳转到已保存的返回地址继续运行。


2.根据权利要求1所述的一种Windows平台下的dll注入方法,其特征为:步骤S07中注入程序部分的运行步骤为:
S071.保存寄存器环境;
S072.初始化线程上下文结构体;
S073.加载目标dll程序;
S074.还原寄存器环境;
S075.返回到原来的地址运行。


3.根据权利要求2所述的一种Windows平台下的dll注入方法,其特征为:步骤S02中提升权限的方法为:
S021.使用OpenProcessToken获取需要提升权限的进程的“令牌”;
S022.使用LookupPrivilegeValue函数,根据权限的“名称字符串”查找到权限在对应系统上的LUID;
S023.使用AdjustTokenPrivileges函数,向指定进程的“令牌”添加或删除权限。


4.根据权利要求3所述的一种Win...

【专利技术属性】
技术研发人员:张振林
申请(专利权)人:广州锦行网络科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1