一种注册表重定向方法及装置的制造方法_6

文档序号:9452864阅读:来源:国知局
态链接库。优选地,所述第i?i+n个调用函数为所述Ntdll.dll动态链接库对应调用函数列表中一段相邻调用函数的集合W,所述集合W内的n+1个调用函数包括相同关键词。在另一个优选例中,所述第i?i+n个调用函数为所述第m个动态链接库中不相邻的n+1个调用函数,则所述n+1个调用函数为所述第m个动态链接库中被调用次数最多的调用函数集合。
[0105]在本实施例的又一个变化例中,所述第二判断装置431可以被替换为第三判断装置432,其用于判断所述注册表项A是否包括在一转接路径库中。具体地,所述传入信息包括传入路径及所述传入路径对应的注册表项A。更为具体地,所述注册表项A为所述传入路径指向的注册表文件。更进一步地,所述转接信息包括转接路径及注册表项A’,其中所述注册表项A’为所述转接路径指向的注册表文件。优选地,所述注册表项A或所述注册表项A’包括后缀名为.dll的文件。优选地,若所述传入路径指向的注册表项A包括在所述转接路径库中,则所述第三判断装置432向所述第二处理装置44发送反馈信息,所述反馈信息包括与所述注册表项A对应的集合U信息。相应地,所述第四处理装置441可以被替换为第五处理装置442,其用于若所述注册表项A包括在所述转接路径库中,则基于所述转接路径库修改所述传入路径参数。优选地,所述第五处理装置442基于所述反馈信息修改所述传入路径参数后,修改后的所述传入路径指向所述注册表中应用程序自建目录中的注册表项A’,实现注册表转接。
[0106]在本实施例的又一个变化例中,所述第二发送装置451可以被替换为第三发送装置452,其基于IAT Hook技术实现。优选地,所述第三发送装置452基于所述IAT Hook技术将所述修改后传入信息反馈至所述第m个动态链接库。优选地,所述IAT Hook为函数地址列表hook,其用于在应用层IAT表地址中修改所述传入路径,当所述重定向装置4访问所述IAT表查找所述传入路径时即向其返回所述修改后的传入路径,达到重定向效果。在一个优选例中,所述第三发送装置452基于IAT Hook技术向所述Ntdll.dll动态链接库反馈所述修改后的传入路径,则所述Ntdll.dll动态链接库基于所述传入路径中包括的转接路径信息跳转到所述注册表中应用程序路径下创建的注册表项获取相应的dll文件信息,实现注册表重定向。
[0107]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
【主权项】
1.一种注册表重定向方法,其用于在一应用程序进程内对注册表进行转接,其特征在于,包括如下步骤: a.获取所述应用程序进程包括的N个动态链接库,其中N多I; b.在第m个动态链接库中挂钩第一处理窗口,其中ISmSN; c.基于所述第一处理窗口对传入信息进行判断,所述传入信息与所述第m个动态链接库相对应; d.基于判断结果修改所述传入信息; e.将修改后的传入信息反馈至所述第m个动态链接库。2.根据权利要求1所述的重定向方法,其特征在于,所述N个动态链接库用于指引所述应用程序进程访问系统注册表,相应地,所述步骤a包括如下步骤: al.基于第二处理窗口查找所述N个动态链接库。3.根据权利要求2所述的重定向方法,其特征在于,所述第二处理窗口包括如下方式中的任一种或任多种: 计算机唯一标识码;或者 应用程序代码。4.根据权利要求1至3中任一项所述的重定向方法,其特征在于,所述动态链接库包括y个调用函数,其中I彡I,相应地,所述步骤b包括如下步骤: bl.在所述第m个动态链接库的第i个调用函数下挂钩所述第一处理窗口,其中I ^ i ^ yD5.根据权利要求1至3中任一项所述的重定向方法,其特征在于,所述动态链接库包括y个调用函数,其中I彡I,相应地,所述步骤b包括如下步骤: bl’.在所述第m个动态链接库的第i?i+n个调用函数下挂钩所述第一处理窗口,其中 I < i < i+n < y 且 η > O。6.根据权利要求1至5中任一项所述的重定向方法,其特征在于,所述传入信息包括传入路径,相应地,所述步骤c包括如下步骤: Cl.判断所述传入路径是否包括在一转接路径库中; 相应地,所述步骤d包括如下步骤: dl.若所述传入路径包括在所述转接路径库中,则基于所述转接路径库修改所述传入路径参数。7.根据权利要求6所述的重定向方法,其特征在于,所述传入信息还包括注册表项A,所述注册表项A为所述传入路径指向的注册表文件,相应地,所述步骤c还包括如下步骤: Cl’.判断所述注册表项A是否包括在一转接路径库中; 相应地,所述步骤d包括如下步骤: dr.若所述注册表项A包括在所述转接路径库中,则基于所述转接路径库修改所述传入路径参数。8.根据权利要求6或7所述的重定向方法,其特征在于,所述转接路径库包括X组传入信息及集合U,所述集合U包括一个或多个转接信息,所述传入信息与所述集合U相对应,其中X彡1,相应地,所述步骤dl或步骤dl’包括如下步骤: 将与所述传入信息相对应的集合U作为待转接路径; 基于当前进程主题将所述集合U中一转接信息作为所述修改后传入信息。9.根据权利要求1至8中任一项所述的重定向方法,其特征在于,所述第m个动态链接库处于所述计算机操作系统第X层架构的最底层,其中I < X < 7。10.根据权利要求1至9中任一项所述的重定向方法,其特征在于,所述第一处理窗口包括注册表访问函数。11.根据权利要求1至10中任一项所述的重定向方法,其特征在于,所述步骤e中所述反馈基于API Hook技术实现。12.根据权利要求11所述的重定向方法,其特征在于,所述APIHook技术包括如下函数中的任一种: -1NLINE Hook ;或者 -1AT Hook013.根据权利要求4至12中任一项所述的重定向方法,其特征在于,所述调用函数至少包括如下函数中的任一种或任多种:-NtOpenKey ;-NtOpenKeyEx ;-NtCreateKey ;-NtQueryValueKey ;-NtQueryKey014.一种注册表重定向装置,其用于在一应用程序进程内对注册表进行转接,其特征在于,包括: 第一获取装置,其用于获取所述应用程序进程包括的N个动态链接库,其中N多I ;第一处理装置,其用于在第m个动态链接库中挂钩第一处理窗口,其中I SmSN;第一判断装置,其用于基于所述第一处理窗口对传入信息进行判断,所述传入信息与所述第m个动态链接库相对应; 第二处理装置,其用于基于判断结果修改所述传入信息; 第一发送装置,其用于将修改后的传入信息反馈至所述第m个动态链接库。15.根据权利要求14所述的重定向装置,其特征在于,所述N个动态链接库用于指引所述应用程序进程访问系统注册表,相应地,所述第一获取装置包括: 第一确定装置,其用于基于第二处理窗口查找所述N个动态链接库。16.根据权利要求14或15所述的重定向装置,其特征在于,所述动态链接库包括y个调用函数,其中I ^ I,相应地,所述第一处理装置包括: 第二处理装置,其用于在所述第m个动态链接库的第i个调用函数下挂钩所述第一处理窗口,其中I彡i彡y。17.根据权利要求14或15所述的重定向装置,其特征在于,所述动态链接库包括y个调用函数,其中I ^ I,相应地,所述第一处理装置还包括: 第三处理装置,其用于在所述第m个动态链接库的第i?i+n个调用函数下挂钩所述第一处理窗口,其中I彡i < i+n彡y且η > O。18.根据权利要求14至17中任一项所述的重定向方法,其特征在于,所述传入信息包括传入路径,相应地,所述第一判断装置包括: 第二判断装置,其用于判断所述传入路径是否包括在一转接路径库中; 相应地,所述第二处理装置包括: 第四处理装置,其用于若所述传入路径包括在所述转接路径库中,则基于所述转接路径库修改所述传入路径参数。19.根据权利要求18所述的重定向装置,其特征在于,所述传入信息还包括注册表项A,所述注册表项A为所述传入路径指向的注册表文件,相应地,所述第一判断装置还包括: 第三判断装置,其用于判断所述注册表项A是否包括在一转接路径库中; 相应地,所述第二处理装置包括: 第五处理装置,其用于若所述注册表项A包括在所述转接路径库中,则基于所述转接路径库修改所述传入路径参数。20.根据权利要求18或19所述的重定向装置,其特征在于,所述转接路径库包括X组传入信息及集合U,所述集合U包括一个或多个转接信息,所述传入信息与所述集合U相对应,其中X多1,相应地,所述第四处理装置或所述第五处理装置包括: 第二确定装置,其用于将与所述传入信息相对应的集合U作为待转接路径; 第三确定装置,其用于基于当前进程主题将所述集合U中一转接信息作为所述修改后传入信息。21.根据权利要求14至20中任一项所述的重定向装置,其特征在于,所述第m个动态链接库处于所述计算机操作系统第X层架构的最底层,其中I < X < 7。22.根据权利要求14至22中任一项所述的重定向装置,其特征在于,所述第一发送装置基于API Hook技术实现,包括如下装置中的任一种: 第二发送装置,其基于INLINE Hook技术实现;或者 第三发送装置,其基于IAT Hook技术实现。
【专利摘要】本发明提供注册表重定向方法,包括如下步骤:a.获取应用程序进程包括的N个动态链接库,其中N≥1;b.在第m个动态链接库挂钩第一处理窗口,其中1≤m≤N;c.基于第一处理窗口对传入信息进行判断,所述传入信息与所述第m个动态链接库相对应;d.基于判断结果修改所述传入信息;e.将修改后的传入信息反馈至所述第m个动态链接库。还提供相应的注册表重定向装置。本发明基于在Ntdll.dll动态链接库中挂钩注册表访问函数实现注册表重定向,通过在计算机应用层最底层挂钩API函数实现对进程中所有访问注册表行为的监控,同时挂钩仅限于应用程序进程内,不影响系统其他进程,保证了计算机的运行速度,也优化了用户的操作体验。
【IPC分类】G06F9/44, G06F9/48
【公开号】CN105204861
【申请号】CN201510631596
【发明人】潘巍
【申请人】上海二三四五网络科技有限公司
【公开日】2015年12月30日
【申请日】2015年9月29日
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1