【技术实现步骤摘要】
一种动态链接库注入方法、装置、设备及存储介质
[0001]本专利技术涉及动态链接库注入领域,尤其涉及一种动态链接库注入方法、装置、设备及存储介质。
技术介绍
[0002]现有技术中,通常依赖于调用操作系统提供的远程线程调用函数,在目标进程内创建一个新的线程,并以所述新的线程作为动态链接库注入操作的载体,实现动态链接库的注入。
[0003]但是这种动态链接库的注入方式在目标进程的内部执行,容易被目标进程感知,从而导致动态链接库注入的失败,并且这种注入方式需要获取目标进程的大量操作权限,从而提升了动态链接库的注入难度。
技术实现思路
[0004]为了增加动态链接库注入的隐蔽性,提升动态链接库注入成功率,并且降低动态链接库注入对于目标进程操作权限的依赖度,本专利技术实施例提供一种动态链接库注入方法、装置、设备及存储介质。
[0005]一方面,本专利技术提供了一种动态链接库注入方法,所述方法包括:
[0006]打开目标进程以获取目标进程句柄,请求所述目标进程的目标操作权限集合,所述目标操作权限 ...
【技术保护点】
【技术特征摘要】
1.一种动态链接库注入方法,其特征在于,所述方法包括:打开目标进程以获取目标进程句柄,请求所述目标进程的目标操作权限集合,所述目标操作权限集合中的操作权限为进行动态链接库注入所需的操作权限;获取内存空间;封装用于基于操作系统回调机制进行动态链接库的注入的相关逻辑,得到加载函数,将所述动态链接库的路径和所述加载函数存储在所述内存空间之中;基于所述加载函数设置回调函数,所述回调函数用于在操作系统达到预设状态时,被所述操作系统自行调用以便于在目标进程中运行所述加载函数。2.根据权利要求1所述的方法,其特征在于,所述获取内存空间包括获取第一内存空间和第二内存空间,所述第一内存空间用于存储动态链接库路径信息,所述第二内存空间用于存储动态链接库注入逻辑。3.根据权利要求1或2所述的方法,其特征在于:所述获取内存空间包括在目标进程内分配内存空间;相应的,所述目标操作权限集合由三个元素构成,分别为设置进程信息权限,内存写入权限和内存操作权限;或,所述获取内存空间包括在现有内存中获取内存空间;相应的,所述目标操作权限集合由两个元素构成,分别为设置进程信息权限和内存写入权限。4.根据权利要求1所述的方法,其特征在于,所述封装用于基于操作系统回调机制进行动态链接库的注入的相关逻辑,得到加载函数,包括:构建用于保存当前操作系统状态的第一函数段;构建用于分配栈空间的第二函数段;构建用于基于操作系统回调机制加载动态链接库的第三函数段,所述第三函数段基于所述栈空间运行;构建用于回收所述栈空间的第四函数段;构建用于根据保存的当前操作系统状态恢复操作系统状态的第五函数段;封装所述第一函数段、第二函数段、第三函数段、第四函数段、第五函数段得到加载函数。5.根据权利要求4所述的方法,其特征在于,所述构建用于基于操作系统回调机制加载动态链接库的第三函数段,所述第三函数段基于所述栈空间运行,包括:创建原子锁,所述原子锁用于确保所述动态链接库仅被加载一次;插入用于加载动态链接库的执行函数。6.根据权利要求1所述的方法,其特征在于,在Windows操作系统中,将其系统函数NtSetInformationProcess函数作为回调函数,所述NtSetInf...
【专利技术属性】
技术研发人员:李文豪,殷赵辉,曹飞,盛子骁,宋青原,卢正军,朱泽瑾,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。