1.本技术涉及计算机安全技术领域,具体而言,涉及一种宏代码获取方法、装置、电子设备及存储介质。
背景技术:
2.office文件被广泛应用于企事业单位的日常办公活动中,而宏代码作为office文件的重要功能扩展,亦被频繁使用。其中,以office文件为宿主的宏病毒,掺杂在日常办公涉及的正常文件中间。由于宏病毒具有较好的隐蔽性和较高的攻击成功率,因此经常被黑客在网络攻击中大量运用。
3.目前,大多数安全软件获取宏代码的方式为:通过扫描磁盘中的静态office文件,通过对ole格式的office文件进行解析,以找到宏代码的存储位置,从而可以获取到宏代码。在获取到宏代码后,可对其进行恶意特征扫描,以实现对宏代码安全检测的目的。现有技术中的方式,需要监控磁盘的所有office文件,解析文件结构,才能提取宏代码,需要对磁盘进行额外的写入读出以及内存分配操作,从而导致计算机性能消耗大的问题。
技术实现要素:
4.本技术实施例的目的在于提供一种宏代码获取方法、装置、电子设备及存储介质,用以降低宏代码获取过程中对计算机性能的消耗。
5.第一方面,本技术实施例提供一种宏代码获取方法,包括:
6.监测内存中是否加载有目标文件;
7.当内存中加载有目标文件,则通过接口调用的方式从内存中获取目标文件对应的宏代码。
8.本技术实施例通过对已加载到内存中的目标文件,以接口调用的方式获取该目标文件的宏代码,由于目标文件已经在内存中,则不需要再次对磁盘进行io操作,也不需要再次为该目标文件分配内存资源,从而该获取宏代码的方式,降低了对计算机性能的消耗。
9.在任一实施例中,通过接口调用的方式从所述内存中获取所述目标文件对应的宏代码,包括:
10.调用第一预设接口获得目标文件对应的目标实例对象;
11.基于目标实例对象,调用getvbproject接口,获得目标文件对应的构成宏代码的组件对象数组;
12.遍历组件对象数组获得目标文件对应的宏代码。
13.本技术实施例在获取宏代码过程中,先获取目标实例对象,以获得对目标文件的操作权限,在通过各个接口获取宏代码,这种接口调用的方式,可以快速、准确地获取到宏代码。
14.在任一实施例中,调用第一预设接口获得目标文件对应的目标实例对象,包括:
15.通过调用getactiveobject接口或registeractiveobject接口获取目标文件对应
的目标实例对象。
16.本技术实施例通过office自带的getactiveobject接口或registeractiveobject接口获取目标实例对象,从而获取到对目标文件的操作权限,从而为宏代码的获取提供入口。
17.在任一实施例中,基于目标实例对象,调用getvbproject接口,获得目标文件对应的构成宏代码的组件对象数组,包括:
18.根据目标实例对象中的第二预设接口获得指向目标文件的对象指针;
19.通过对象指针中的getvbproject接口获得宏项目对象;
20.调用宏项目对象中的getvbcomponets接口获得组件对象数组。
21.本技术实施例通过调用到处接口获取对象指针,调用对象指针中的getvbproject接口获得宏项目对象,调用宏项目对象中的getvbcomponets接口获得组件对象数据,通过一层层接口调用接口的方式获得构成宏代码的组件对象数据,减少了对磁盘的io次数。
22.在任一实施例中,所述目标文件为office文件;
23.若所述目标文件为office文件中的excel文件,则所述第二预设接口为getactiveworkbook接口;
24.若所述目标文件为office文件中的word文件,则所述第二预设接口为activeworkbook接口。
25.本技术实施例通过上述各个接口,一层层调用实现宏代码的获取,从而减少了对磁盘的io次数,以及内存分配操作,较从磁盘中获取宏代码的方式,降低了对计算机性能的消耗。
26.在任一实施例中,遍历所述组件对象数组获得目标文件对应的宏代码,包括:
27.针对组件对象数组中每一组件对象,调用组件对象的getcodemodule接口,获得对应的宏代码对象,通过宏代码对象中的getcodeoflines接口或getlines接口获得宏代码。
28.由于宏代码是按组件划分的,因此,通过遍历组件对象数组,获取该组件对象数组中每个元素对应的宏代码,从而获得目标文件对应的完整的宏代码。
29.在任一实施例中,当内存中加载有目标文件,则通过调用预设接口从内存中获取目标文件对应的宏代码,包括:
30.当内存中加载有目标文件,且监测到对目标文件进行操作的预设可疑行为时,通过接口调用的方式从内存中获取目标文件对应的宏代码。
31.本技术实施例在监测到对目标文件的可疑操作行为时,获取该目标文件的宏代码,进而可以对获取到的宏代码进行安全扫描,以及时阻止对目标文件的恶意操作,保证目标文件的安全。
32.在任一实施例中,在获得指向目标文件的对象指针后,该方法还包括:
33.通过对象指针中的getfullname接口获取目标文件对应的文件路径,并将文件路径与宏代码绑定。
34.本技术实施例通过文件路径接口获取目标文件的文件路径,并将获取到的文件路径与宏代码绑定,若后续发现该宏代码中携带有病毒,则可通过文件路径对该宏代码进行安全处理。
35.第二方面,本技术实施例提供一种宏代码获取装置,包括:
36.监测模块,用于监测内存中是否加载有目标文件;
37.宏代码获取模块,用于当内存中加载有目标文件,则通过接口调用的方式从内存中获取目标文件对应的宏代码。
38.第三方面,本技术实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
39.处理器和存储器通过总线完成相互间的通信;
40.存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行第一方面的方法。
41.第四方面,本技术实施例提供一种非暂态计算机可读存储介质,包括:
42.非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的方法。
43.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
44.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
45.图1为本技术实施例提供的一种宏代码获取方法流程示意图;
46.图2为本技术实施例提供的一种获取excel文件宏代码的流程示意图;
47.图3为本技术实施例提供的一种宏代码获取装置结构示意图;
48.图4为本技术实施例提供的电子设备实体结构示意图。
具体实施方式
49.下面将结合附图对本技术技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本技术的技术方案,因此只作为示例,而不能以此来限制本技术的保护范围。
50.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
51.在本技术实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本技术实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
52.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
53.在本技术实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
54.在本技术实施例的描述中,术语“多个”指的是两个以上(包括两个),同理,“多组”指的是两组以上(包括两组),“多片”指的是两片以上(包括两片)。
55.在本技术实施例的描述中,技术术语“中心”“纵向”“横向”“长度”“宽度”“厚度”“上”“下”“前”“后”“左”“右”“竖直”“水平”“顶”“底”“内”“外”“顺时针”“逆时针”“轴向”“径向”“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术实施例的限制。
56.在本技术实施例的描述中,除非另有明确的规定和限定,技术术语“安装”“相连”“连接”“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;也可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术实施例中的具体含义。
57.宏代码:一种嵌入在office文件中的编码,基于office文件的主流攻击技术,被apt组织广泛用于钓鱼攻击技术中,用来窃取用户敏感信息,植入病毒木马等。所谓office文件是指具有预设格式的文件,该预设格式包括.doc,.xls,.ppt,.docx,.xlsx,.pptx,.vsd,.vsdx等,因此,文件后缀为上述类型的均称为office文件。为便于表述,本技术以office文件的宏代码获取为例进行说明。
58.office宏代码支持声明任意win32api函数原型,并可以在宏代码中调用该函数,同时也增加了被恶意代码利用的风险,比如申请内存、执行shellcode等。宏代码声明调用任意windowsapi攻击的原理是通过宏代码声明调用的方式,调用高危windowsapi,比如申请内存、修改内存属性,创建线程,执行shellcode等来调用默认宏语言不支持的高危敏感函数。现有的安全软件在检测到用户的office进程,正在打开一个office文件或者用户电脑硬盘上正在保存一个office文件时,安全软件会得到目标office文件的路径,然后传入安全软件的扫描接口,由于office文件都是ole格式的,安全软件会解析该ole格式的文件,从而找到宏代码的存储位置,然后对这段存储宏代码位置的内容进行恶意特征扫描。在对ole格式文件进行解析时,需要严格按照ole格式的要求进行解析,否则会导致解析程序崩溃。并且该方法需要专门将ole格式的文件从磁盘中读到内存中进行解析,增加了磁盘的io次数,并且还需要为该ole格式的文件单独配置内存资源,影响计算机运行的性能。
59.本技术发明人经过长期研究发现,当office文件中包含病毒,一般是在用户将该office文件加载到内存中后,该病毒才能发挥其作用,存储在磁盘中的静态office文件不会对计算机带来威胁。基于此,本技术发明人提出了一种新的获取宏代码的方式,即当用户使用office文件,将office文件加载到内存中后,通过接口调用的方式,提取内存中的office文件的宏代码。由于用户本来就要将office文件加载到内存中,因此,本技术实施例不需要重新从磁盘中读取该office文件,也不需要再次为该office文件分配新的内存资源,因此可以减少磁盘的io次数,以及减少分配内存的操作,进而,降低了对计算机性能的消耗。
60.下面将详细说明本技术实施例的宏代码获取方法。
61.图1为本技术实施例提供的一种宏代码获取方法流程示意图,如图1所示,该方法可以应用在运行有office软件的电子设备上,该电子设备可以包括台式电脑、笔记本电脑、平板电脑、手机、智能穿戴设备等。该方法包括:
62.步骤101:监测内存中是否加载有目标文件;
63.步骤102:当所述内存中加载有目标文件,则通过接口调用的方式从所述内存中获取所述目标文件对应的宏代码。
64.其中,在步骤101中,电子设备可以实时监测内存中是否加载有目标文件,该目标文件可以为office软件,例如:word文档、excel文档或ppt文档等。当用户打开一个office文件,则内存中创建了该office文件对应的进程。电子设备可通过使用钩子函数对内存中是否加载有目标文件进行监控,当然,还可以采用其他方法,本技术实施例对此不作具体限定。再有,电子设备也可以定期查看内存中是否有加载目标文件,也可以在需要获取宏代码时从内存中查询是否加载有目标文件。可以理解的是,在判断内存中是否加载有目标文件时,可通过文件名进行判断,也可以通过文件后缀进行判断。目标文件可以是指某个特定的文件,也可以是指某一类型的文件。若目标文件为某个特定的文件,则可通过内存中的文件名进行判断;若目标文件指某一类型的文件,则可通过文件后缀来判断。另外,还可以通过文件类型的标识符(guid)来表示目标文件的类型。
65.在步骤102中,office软件提供有大量的官方接口,本技术发明人从大量的官方接口中研发出一种接口调用逻辑,通过该调用逻辑可以在内存中加载有目标文件的情况下,通过以接口调用的方式从内存中获取目标文件对应的宏代码。
66.本技术实施例通过对已加载到内存中的目标文件,以接口调用的方式获取该目标文件的宏代码,由于目标文件已经在内存中,则不需要再次对磁盘进行io操作,也不需要再次为该目标文件分配内存资源,从而该获取宏代码的方式,降低了对计算机性能的消耗。
67.在上述实施例的基础上,通过接口调用的方式从内存中获取目标文件对应的宏代码,包括:
68.调用第一预设接口获得目标文件对应的目标实例对象;
69.基于目标实例对象,调用getvbproject接口,获得目标文件对应的构成宏代码的组件对象数组;
70.遍历组件对象数组获得目标文件对应的宏代码。
71.在具体的实施过程中,第一预设接口为office提供的官方接口中的其中一个接口,该第一预设接口的一个作用是获取目标文件对应的目标实例对象。在获得的目标实例对象后,便获得了控制目标文件的权限。其中,第一预设接口可以为getactiveobject接口或registeractiveobject接口。当打开office进程时,该office进程调用registeractiveobject接口,并在该registeractiveobject接口中传入参数,可以理解的是,传入的参数包括进程标识和返回值。若目标文件对应的office进程已经处于开启状态,那么可通过调用getactiveobject接口来获取目标文件的宏代码。
72.目标实例对象根据目标文件的类型不同而不同,例如:若目标文件为excel文件,那么目标实例对象为excel.application对象;若目标文件为word文件,那么目标实例对象为word.application对象。
73.由于宏代码是以数组的形式构成的,因此在获取到目标实例对象后,基于该目标实例对象调用getvbproject接口,获得所述目标文件对应的构成宏代码的组件对象数组。
74.电子设备通过遍历组件对象数组中各个组件对象,可以获得目标文件对应的宏代码。
75.本技术实施例在获取宏代码过程中,先获取目标实例对象,以获得对目标文件的操作权限,在通过各个接口获取宏代码,这种接口调用的方式,可以快速、准确地获取到宏代码。
76.在上述实施例的基础上,基于目标实例对象,getvbproject接口接口,获得目标文件对应的构成宏代码的组件对象数组,包括:
77.根据目标实例对象中的第二预设接口获得指向目标文件的对象指针;
78.通过对象指针中的getvbproject接口接口获得宏项目对象;
79.调用宏项目对象中的getvbcomponets接口接口获得组件对象数组。
80.在具体的实施过程中,目标实例对象中包含一个第二预设接口,通过调用该第二预设接口可以获得指向该目标文件的对象指针。以目标文件为excel文件为例:通过调用excel.application对象中的getactiveworkbook接口,可以获得《excel::_workbook》对象指针。以目标文件为word文件为例,通过调用word.application对象中的get_activedocument接口,可以获得word的对象指针。
81.在获得对象指针后,通过调用对象指针中的getvbproject接口获得宏项目对象。其中,宏项目对象可以为vbproject对象。
82.宏项目对象中包括getvbcomponets接口,通过调用该getvbcomponets接口可以获得组件对象数组。其中,组件对象数组为vbcomponets。
83.本技术实施例通过调用到处接口获取对象指针,调用对象指针中的getvbproject接口获得宏项目对象,调用宏项目对象中的getvbcomponets接口获得组件对象数据,通过一层层接口调用接口的方式获得构成宏代码的组件对象数据,减少了对磁盘的io次数。
84.在上述实施例的基础上,遍历组件对象数组获得目标文件对应的宏代码,包括:
85.针对组件对象数组中每一组件对象,调用组件对象的getcodemodule接口接口,获得对应的宏代码对象,通过宏代码对象中的getcodeoflines接口或getlines接口获得宏代码。
86.在上述实施例的基础上,由于宏代码是按组件划分的,因此,在获得组件对象数组后,遍历该组件对象数组中每一个组件对象,并调用每个组件对象的宏的代码组件接口可以获得宏代码对象,进而通过宏代码对象中的getcodeoflines接口或getlines接口获得宏代码。
87.例如:在获得vbcomponets对象后,遍历该vbcomponets对象中的每个组件对象,并调用每个组件对象的getcodemodule接口,可以获得每个组件对象对应的codemode对象。codemode对象包括getcodeoflines接口和getlines接口,通过调用getcodeoflines接口和/或getlines接口便可获得目标文件对应的宏代码。
88.应当说明的是,getcodeoflines接口用于获取指定行的代码,例如:若已知宏代码在整个代码中的位置(即行数),可以调用getcodeoflines接口,并在该接口中传入要获取的代码行数,便可获得宏代码。getlines接口用于获取一行代码,若不知道宏代码在整个代
码中的位置,则可采用该接口逐行获取宏代码。在实际应用中看根据实际情况选择调用。
89.针对每个组件对象,通过调用getcodeoflines接口或getlines接口后,均可获得该组件对象对应的组件名称和该组件名称对应的代码。所有的组件对象对应的代码称为宏代码。
90.由于宏代码是按组件划分的,因此,通过遍历组件对象数组,获取该组件对象数组中每个元素对应的宏代码,从而获得目标文件对应的完整的宏代码。
91.在上述实施例的基础上,当内存中加载有目标文件,则通过接口调用的方式从内存中获取目标文件对应的宏代码,包括:
92.当内存中加载有目标文件,且监测到对目标文件进行操作的预设可疑行为时,通过接口调用的方式从内存中获取目标文件对应的宏代码。
93.在具体的实施过程中,电子设备可以实时获取内存中加载的目标文件的宏代码,当然,为了降低对电子设备性能的消耗,也可以在内存中加载有目标文件,且监测到有目标文件进行操作的预设可疑行为时,再通过调用接口从内存中获取目标文件对应的宏代码。其中,预设可疑行为为预先设定的行为,根据不同的目标文件,可以设定不同的预设可疑行为。以目标文件为office文件为例,office软件通常不会创建一个cmd进程,如果发现office软件出现创建cmd进程的行为时,则认为发生了针对目标文件的预设可疑行为。应当说明的是,对预设可疑行为的监测可以采用钩子函数,也可以采用其他监测手段,本技术实施例对此不作具体限定。
94.本技术实施例在监测到对目标文件的可疑操作行为时,获取该目标文件的宏代码,进而可以对获取到的宏代码进行安全扫描,以及时阻止对目标文件的恶意操作,保证目标文件的安全。
95.在上述实施例的基础上,在获得指向目标文件的对象指针后,该方法还包括:
96.通过对象指针中的getfullname接口获取目标文件对应的文件路径,并将文件路径与宏代码绑定。
97.在具体的实施过程中,在获取到目标文件的对象指针后,该对象指针中还包括getfullname接口,通过调用该getfullname接口可以获取到目标文件对应的文件路径。在获取到目标文件对应的文件路径和宏代码后,可以将该目标路径与宏代码进行绑定。若后续对宏代码进行安全扫描后发现该宏代码中携带有病毒,则可通过该绑定关系确定目标文件的文件路径,并根据该文件路径可以对该目标文件进行相应的处理。
98.本技术实施例通过getfullname接口获取目标文件的文件路径,并将获取到的文件路径与宏代码绑定,若后续发现该宏代码中携带有病毒,则可通过文件路径对该宏代码进行安全处理。
99.图2为本技术实施例提供的一种获取excel文件宏代码的流程示意图,如图2所示,该方法包括:
100.步骤201:调用registeractiveobject接口;通过调用registeractiveobject接口获取excel_application。
101.步骤202:判断registeractiveobject接口中传入的第二个参数是否为excel_application,registeractiveobject接口中传入的参数是自动传入的,为确保用户想要获取到的目标文件的类型跟registeractiveobject接口获取的实例的类型相匹配,则需要对
其进行判断,如果第二个参数是excel_application,则说明获取的实例与想要获取的是相匹配的。若要获取的是excel文件的宏代码,但registeractiveobject接口中传入的第二个参数为word_application,则说明获取的不正确。
102.步骤203:调用getactiveworkbook接口;在获取到excel_application之后,便或得到控制excel进程的权限,可以通过调用excel_application中的getactiveworkbook接口,来获得《excel::_workbook》对象指针。通过该对象指针,可以调用该对象指针中的getfullname,来获得当前excel正在打开的xls文件路径。
103.步骤204:调用getvbprojece接口;该对象指针中还有一个getvbproject接口,用来得到一个vbproject对象。
104.步骤205:调用getvbcomponets接口;通过vbproject对象中的getvbcomponets接口,得到宏代码中所有组件对象数组。
105.步骤206:调用getcodemodule接口;得到vbcomponets对象后,遍历该对象,调用每个对象的getcodemodule接口,每个组件对象的得到codemode对象。
106.步骤207:通过codemode对象的getcodeoflines接口或getlines接口,获取全部宏代码。
107.图3为本技术实施例提供的一种宏代码获取装置结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。所述装置包括:监测模块301和宏代码获取模块302,其中:
108.监测模块301用于监测内存中是否加载有目标文件;
109.宏代码获取模块302用于当内存中加载有目标文件,则通过接口调用的方式从内存中获取目标文件对应的宏代码。
110.在上述实施例的基础上,宏代码获取模块302具体用于:
111.调用第一预设接口获得目标文件对应的目标实例对象;
112.基于目标实例对象,调用getvbproject接口,获得目标文件对应的构成宏代码的组件对象数组;
113.遍历组件对象数组获得目标文件对应的宏代码。
114.在上述实施例的基础上,宏代码获取模块302具体用于:
115.通过调用getactiveobject接口或registeractiveobject接口获取目标文件对应的目标实例对象。
116.在上述实施例的基础上,宏代码获取模块302具体用于:
117.根据目标实例对象中的第二预设接口获得指向目标文件的对象指针;
118.通过对象指针中的getvbproject接口获得宏项目对象;
119.调用宏项目对象中的getvbcomponets接口获得组件对象数组。
120.在上述实施例的基础上,所述目标文件为office文件;
121.若所述目标文件为office文件中的excel文件,则所述第二预设接口为getactiveworkbook接口;
122.若所述目标文件为office文件中的word文件,则所述第二预设接口为activeworkbook接口。
123.在上述实施例的基础上,宏代码获取模块302具体用于:
124.针对组件对象数组中每一组件对象,调用组件对象的getcodemodule接口,获得对应的宏代码对象,通过宏代码对象中的getcodeoflines接口或getlines接口获得宏代码。
125.在上述实施例的基础上,宏代码获取模块302具体用于:
126.当内存中加载有目标文件,且监测到对目标文件进行操作的预设可疑行为时,通过接口调用的方式从内存中获取目标文件对应的宏代码。
127.在上述实施例的基础上,该装置还包括路径获取模块,用于:
128.通过对象指针中的getfullname接口获取目标文件对应的文件路径,并将文件路径与宏代码绑定。
129.图4为本技术实施例提供的电子设备实体结构示意图,如图4所示,所述电子设备,包括:处理器(processor)401、存储器(memory)402和总线403;其中,
130.所述处理器401和存储器402通过所述总线403完成相互间的通信;
131.所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:监测内存中是否加载有目标文件;当内存中加载有目标文件,则通过接口调用的方式从内存中获取目标文件对应的宏代码。
132.处理器401可以是一种集成电路芯片,具有信号处理能力。上述处理器401可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本技术实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
133.存储器402可以包括但不限于随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electrically erasable programmable read-only memory,eeprom)等。
134.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:监测内存中是否加载有目标文件;当内存中加载有目标文件,则通过接口调用的方式从内存中获取目标文件对应的宏代码。
135.本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:监测内存中是否加载有目标文件;当内存中加载有目标文件,则通过接口调用的方式从内存中获取目标文件对应的宏代码。
136.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间
的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
137.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
138.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
139.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
140.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。