[发明专利]宏代码获取方法、装置、电子设备及存储介质在审
申请号: | 202211116587.3 | 申请日: | 2022-09-14 |
公开(公告)号: | CN115454541A | 公开(公告)日: | 2022-12-09 |
发明(设计)人: | 王丹阳;王明广;叶俊浩;李家恒 | 申请(专利权)人: | 奇安信科技集团股份有限公司;奇安信安全技术(珠海)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/50;G06F40/12 |
代理公司: | 北京维飞联创知识产权代理有限公司 11857 | 代理人: | 蒋姗 |
地址: | 100032 北京市西城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 获取 方法 装置 电子设备 存储 介质 | ||
1.一种宏代码获取方法,其特征在于,包括:
监测内存中是否加载有目标文件;
当所述内存中加载有目标文件,则通过接口调用的方式从所述内存中获取所述目标文件对应的宏代码。
2.根据权利要求1所述的方法,其特征在于,所述通过接口调用的方式从所述内存中获取所述目标文件对应的宏代码,包括:
调用第一预设接口获得所述目标文件对应的目标实例对象;
基于所述目标实例对象,调用GetVBProject接口,获得所述目标文件对应的构成宏代码的组件对象数组;
遍历所述组件对象数组获得所述目标文件对应的宏代码。
3.根据权利要求2所述的方法,其特征在于,所述第一预设接口获得所述目标文件对应的目标实例对象,包括:
通过调用GetActiveObject接口或RegisterActiveObject接口获取所述目标文件对应的所述目标实例对象。
4.根据权利要求2所述的方法,其特征在于,所述基于所述目标实例对象,调用GetVBProject接口,获得所述目标文件对应的构成宏代码的组件对象数组,包括:
根据所述目标实例对象中的第二预设接口获得指向所述目标文件的对象指针;
通过所述对象指针中的GetVBProject接口获得宏项目对象;
调用所述宏项目对象中的GetVBComponets接口获得所述组件对象数组。
5.根据权利要求4所述的方法,其特征在于,所述目标文件为Office文件;
若所述目标文件为Office文件中的Excel文件,则所述第二预设接口为GetActiveWorkBook接口;
若所述目标文件为Office文件中的Word文件,则所述第二预设接口为ActiveWorkBook接口。
6.根据权利要求2所述的方法,其特征在于,所述遍历所述组件对象数组获得所述目标文件对应的宏代码,包括:
针对所述组件对象数组中每一组件对象,调用所述组件对象的GetCodeModule接口,获得对应的宏代码对象,通过所述宏代码对象中的GetCodeOfLines接口或GetLines接口获得所述宏代码。
7.根据权利要求1所述的方法,其特征在于,所述当所述内存中加载有目标文件,则通过调用预设接口从所述内存中获取所述目标文件对应的宏代码,包括:
当所述内存中加载有所述目标文件,且监测到对所述目标文件进行操作的预设可疑行为时,通过接口调用的方式从所述内存中获取所述目标文件对应的宏代码。
8.根据权利要求4所述的方法,其特征在于,在获得指向所述目标文件的对象指针后,所述方法还包括:
通过所述对象指针中的GetFullName接口获取所述目标文件对应的文件路径,并将所述文件路径与所述宏代码绑定。
9.一种宏代码获取装置,其特征在于,包括:
监测模块,用于监测内存中是否加载有目标文件;
宏代码获取模块,用于当所述内存中加载有目标文件,则通过接口调用的方式从所述内存中获取所述目标文件对应的宏代码。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-8任一项所述的方法。
11.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1-8任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇安信科技集团股份有限公司;奇安信安全技术(珠海)有限公司,未经奇安信科技集团股份有限公司;奇安信安全技术(珠海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211116587.3/1.html,转载请声明来源钻瓜专利网。