CN106897089B - ***操作执行方法及装置 - Google Patents

***操作执行方法及装置 Download PDF

Info

Publication number
CN106897089B
CN106897089B CN201710045054.3A CN201710045054A CN106897089B CN 106897089 B CN106897089 B CN 106897089B CN 201710045054 A CN201710045054 A CN 201710045054A CN 106897089 B CN106897089 B CN 106897089B
Authority
CN
China
Prior art keywords
function
shared libraries
shared
hook
functions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710045054.3A
Other languages
English (en)
Other versions
CN106897089A (zh
Inventor
张景逸
康凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Dnion Information Technology Co ltd
Original Assignee
Shanghai Dnion Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Dnion Information Technology Co ltd filed Critical Shanghai Dnion Information Technology Co ltd
Priority to CN201710045054.3A priority Critical patent/CN106897089B/zh
Publication of CN106897089A publication Critical patent/CN106897089A/zh
Application granted granted Critical
Publication of CN106897089B publication Critical patent/CN106897089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一种***操作执行方法及装置,所述方法包括:对***调用共享库操作函数库进行挂钩,以阻止预配置的共享库中的挂钩函数对调用相应的原始函数;加载预配置的多个共享库;按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数,并执行对应的原始函数,以对相应的原始函数的执行操作进行扩展。上述的方案,可以在对***原始操作函数的执行行为进行扩展时,提高操作的灵活性。

Description

***操作执行方法及装置
技术领域
本发明属于操作***技术领域,特别是涉及一种***操作执行方法及装置。
背景技术
Linux是一套***和自由传播的类Unix操作***,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作***。它能运行主要的UNIX工具软件、应用程序和网络协议,支持32位和64位硬件,其继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作***。
Linux中的.so文件类似与微软公司在微软视窗(Windows)操作***中的动态链接库(Dynamic Link Library/Dynamic-link Library,DLL),是微软公司在微软视窗(Windows)操作***中,实现共享函数库概念的一种方式。
然而,采用动态链接库预加载方法在对***原始操作函数进行调用时,存在着灵活性差的问题。
发明内容
本发明实施例解决的问题是在对***原始操作函数的执行行为进行扩展时,如何提高操作的灵活性。
为解决上述问题,本发明实施例提供了一种***操作执行方法,包括:对***调用共享库操作函数库进行挂钩,以阻止预配置的共享库中的挂钩函数对调用相应的原始函数;加载预配置的多个共享库;按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数,并执行对应的原始函数,以对相应的原始函数的执行操作进行扩展。
可选地,所述加载预配置的多个共享库,包括:按照所获取的共享库配置文件中所述多个共享库地址的排列顺序,加载所述多个共享库。
可选地,所述按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数,并执行对应的原始函数,以对相应的原始函数的执行操作进行扩展,包括:判断所述多个共享库中是否存在相应的协作开始挂钩函数;当确定所述多个共享库中存在相应的协作开始挂钩函数时,确定所述多个共享库处于协作模式;当确定所述多个共享库处于协作模式时,按照所述多个共享库的加载顺序分别执行相应位序的共享库的协作开始挂钩函数;将相应位序的共享库中的协作开始挂钩函数的执行结果和挂钩函数的参数传递至下一位序的共享库中的协作开始挂钩函数,并执行下一位序的共享库中的协作开始挂钩函数,直至所述多个共享库的协作开始挂钩函数执行完毕;当所述多个共享库的协作开始挂钩函数执行完毕时,执行所述原始函数。
可选地,当执行完毕所述原始函数之后,所述方法还包括:将所述共享库中排在预设位序的共享库的协作开始挂钩函数的执行结果和所述原始函数的执行结果传递至对应的协作终止函数,并执行所述协作终止函数,以对所述原始函数的运行结果进行处理。
可选地,所述按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数,并执行对应的原始函数,以对相应的原始函数的执行操作进行扩展,还包括:当确定所述多个共享库中均不存在相应的协作开始挂钩函数时,确定所述多个共享库处于兼容模式;当处于兼容模式时,按照所述多个共享库的加载顺序分别执行相应位序的共享库的挂钩函数,直至所述多个共享库的挂钩函数执行完毕;当确定所述多个共享库的挂钩函数执行完毕时,执行所述原始函数。
本发明实施例还提供了一种***操作执行装置,包括:挂钩单元,适于对***调用共享库操作函数库进行挂钩,以阻止预配置的共享库中的挂钩函数对调用相应的原始函数;加载单元,适于加载预配置的多个共享库;执行单元,适于按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数,并执行对应的原始函数,以对相应的原始函数的执行操作进行扩展。
可选地,所述加载单元,适于按照所获取的共享库配置文件中所述多个共享库地址的排列顺序,加载所述多个共享库。
可选地,所述执行单元,适于判断所述多个共享库中是否存在相应的协作开始挂钩函数;当确定所述多个共享库中存在相应的协作开始挂钩函数时,确定所述多个共享库处于协作模式;当确定所述多个共享库处于协作模式时,按照所述多个共享库的加载顺序分别执行相应位序的共享库的协作开始挂钩函数;将相应位序的共享库中的协作开始挂钩函数的执行结果和挂钩函数的参数传递至下一位序的共享库中的协作开始挂钩函数,并执行下一位序的共享库中的协作开始挂钩函数,直至所述多个共享库的协作开始挂钩函数执行完毕;当所述多个共享库的协作开始挂钩函数执行完毕时,执行所述原始函数。
可选地,所述执行单元,还适于当执行完毕所述原始函数之后,将所述共享库中排在预设位序的共享库的协作开始挂钩函数的执行结果和所述原始函数的执行结果传递至对应的协作终止函数,并执行所述协作终止函数,以对所述原始函数的运行结果进行处理。
可选地,所述执行单元,还适于当确定所述多个共享库中均不存在相应的协作开始挂钩函数时,确定所述多个共享库处于兼容模式;当处于兼容模式时,按照所述多个共享库的加载顺序分别执行相应位序的共享库的挂钩函数,直至所述多个共享库的挂钩函数执行完毕;当确定所述多个共享库的挂钩函数执行完毕时,执行所述原始函数。
与现有技术相比,本发明的技术方案具有以下的优点:
上述的方案,通过将多个共享库中的挂钩函数与***的原始函数进行挂钩,通过多个共享库中的挂钩函数,可以对原始函数的操作进行任意地扩展,因而可以提高***操作的灵活性。
进一步地,确定多个共享库处于协作模式时,按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数和原始函数,可以通过预配置的多个共享库之间的协作实现对相应的原始函数的执行行为的扩展;当确定多个共享库可以分别对原始函数的执行行为进行扩展,因而可以进一步提高操作的灵活性。
附图说明
图1是本发明实施例中一种的***操作执行方法的流程图;
图2是本发明实施例中另一种***操作执行方法的流程图;
图3是本发明实施例中的一种***操作执行装置的结构示意图。
具体实施方式
正如背景技术而言,在利用共享库预加载技术时,仅允许共享库与一个***原始操作函数进行挂钩。当多个共享库同时对一个***原始操作函数进行挂钩时,***只会调用多个共享库中一个共享库中的挂钩函数。
因此,当需要对***原始操作函数所实现的操作进行扩展,且扩展的操作较多时,需要将对应的多个扩展功能对应的挂钩函数写入一个共享库中,导致共享库中的挂钩函数的逻辑较为负载,从而导致操作较为复杂,也增加了出错率。
为解决上述问题,本发明实施例中的技术方案将多个共享库中的挂钩函数与***的原始函数进行挂钩,通过多个共享库中的挂钩函数,可以对原始函数的操作进行任意地扩展,因而可以提高原始函数操作的灵活性。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例中的一种***操作执行方法的流程图。如图1所示的***操作执行方法,可以包括:
步骤S101:对***调用共享库操作函数进行挂钩。
在本发明一实施例中,所采用的操作***为Unix***,所述***调用共享库操作函数为dyslm函数。在具体实施中,可以采用相应操作***中的***调用共享库操作函数。
步骤S102:加载预配置的多个共享库。
在具体实施中,可以按照预配置的多个共享库的绝对地址清单加载预配置的多个共享库。
步骤S103:按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数,并执行对应的原始函数,以对相应的原始函数的执行操作进行扩展。
在具体实施中,相应的原始函数为与预配置的多个共享库对应的一个***操作函数。
上述的方案,将多个共享库中的挂钩函数与***的原始函数进行挂钩,通过多个共享库中的挂钩函数,可以对原始函数的操作进行任意地扩展,因而可以提高原始函数操作的灵活性。
下面将对本发明实施例中的***操作执行方法进行进一步详细的介绍。
参见图2,本发明实施例中的一种***操作执行方法,适于对***原始操作函数所执行的操作进行扩展,具体可以采用如下的步骤实现:
步骤S201:对***调用共享库操作函数进行挂钩。
在本发明一实施例中,当操作***为Unix***时,可以通过将***调用共享库操作函数dlsym与预配置的多个共享库进行挂钩,并返回空指针,以阻止所述预配置的多个共享库中的挂钩函数对被挂钩的原始函数的调用。
步骤S202:加载预配置的多个共享库。
在本发明一实施例中,预配置的多个共享库中的绝对地址存储在对应的共享库配置文件中,且预配置的多个共享库中的绝对地址按照顺序存储在所述共享库配置文件中。通过加载对应的共享库配置文件,按照顺序读取所述配置文件中对应的共享库的绝对地址,并从对应的绝对地址出获取对应的共享库,从而加载预配置的多个共享库。
步骤S203:判断所述多个共享库中是否存在对应的协作开始挂钩函数;当判断结果为是时,可以执行步骤S204;反之,则可以执行步骤S207。
在具体实施中,预配置的多个共享库可以处于协作模式和兼容模式。其中,所述协作模式,是指预配置的多个共享库中的挂钩函数对应的操作之间具有相应的逻辑关系。与协作模式相反,处于兼容模式的预配置的多个共享库对应的操作之间相互独立,不具有相应的逻辑关系。
在本发明一实施例中,当预配置的共享库之间处于协作模式时,各个共享库中存在对应的协作开始挂钩函数,因而可以通过预配置的多个共享库中是否均存在对应的协作开始挂钩函数,判断预配置的多个共享库之间是处于协作模式还是兼容模式。
步骤S204:按照所述多个共享库的加载顺序执行相应位序的共享库中的协作开始挂钩函数,并将相应位序的共享库的协作开始挂钩函数的执行结果和挂钩函数的参数传递至下一位序的共享库中的协作开始挂钩函数,直至多个共享库的协作开始挂钩函数执行完毕。
在具体实施中,处于协作模式的多个共享库对相应的原始函数进行挂钩时,需要挂钩函数和协作开始挂钩函数。其中,挂钩函数,用于重载被挂钩函数,且可以直接被共享库预加载调用。每个挂钩函数的运行逻辑包括:(1)调用协作开始挂钩函数;(2)调用原始函数,并返回其执行结果。
在具体实施中,处于协作模式的多个共享库的协作开始挂钩函数,用于对原始函数执行之前的逻辑操作。在本发明一实施例中,每个共享库中的协作开始挂钩函数以“被挂钩函数名+framework_begin”命名,其参数为(上个共享库的协作挂钩函数运行结果,返回给协作终止挂钩函数,挂钩函数的参数),其返回值为(传递给原函数的参数)。
在具体实施中,当确定预配置的多个共享库中均存在对应的协作开始挂钩函数时,便可以按照预配置的多个共享库的加载顺序,首先执行相应位序的共享库中的协作开始挂钩函数,并将相应位序的共享库的协作开始挂钩函数的执行结果和挂钩函数的参数,传递至下一位序的共享库中的协作开始挂钩函数,直至预配置的多个共享库中的协作开始挂钩函数全部执行完毕。
步骤S205:执行所述原始函数。
在具体实施中,当预配置的多个共享库中的协作开始挂钩函数全部执行完毕时,可以调用原始函数,返回原始函数的执行结果。
在本发明一实施例中,当需要对原始函数的执行结果进行进一步的处理时,本发明实施例中的***操作执行方法可以包括:
步骤S206:将所述多个共享库中排在预设位序的共享库的协作开始挂钩函数的执行结果和所述原始函数的执行结果传递至对应的协作终止函数,并执行所述协作终止函数,以对所述原始函数的运行结果进行处理。
在本发明一实施例中,当需要对原始函数的执行结果进行进一步的处理时,挂钩函数的运行逻辑还包括:(3)调用协作终止挂钩函数,并返回其执行结果。
其中,共享库中的协作终止挂钩函数,用于执行原始函数之后的程序逻辑,也即对原始函数的执行结果进行进一步的处理。在本发明一实施例中,每个共享库的协作终止挂钩函数以“被挂钩函数名+framework_end”命名,其参数为(处于协作模式的多个共享库中排在第一位序的共享库协作开始挂钩函数的返回的值,返回给下一位序的共享库的协作开始挂钩函数的值,原始函数的返回值),其返回值为返回给挂钩函数的值。
当预配置的多个共享库的协作终止挂钩函数,可以接收所述多个共享库中排在预设位序的共享库的协作开始挂钩函数的执行结果和所述原始函数的执行结果,并执行对应的逻辑操作,以对所述原始函数的运行结果进行处理。其中,协作终止函数的数量可以根据实际的需要进行设置,在此不做限制。
在具体实施中,所述预设位序可以根据实际的需要进行设置,如设置为第一位序,在此不做限制。
步骤S207:按照所述多个共享库的加载顺序依次执行相应位序的共享库中的挂钩函数。
在具体实施中,当确定预配置的多个共享库中均不存在对应的协作开始挂钩函数时,可以确定预配置的多个共享库处于兼容模式。当调用相应位序的共享库中的挂钩函数时,由于之前采用***调用共享库操作函数dlsym与预配置的多个共享库进行挂钩,使得共享库无法利用***调用共享库操作函数dlsym对原始函数进行调用。同时,属于兼容模式时,共享库中的挂钩函数的执行过程不可中断,因而无法对原始函数的执行结果进行进一步处理。
步骤S208:调用原始函数,并返回所述原始函数的执行结果。
在具体实施中,当预配置的多个共享库按照顺序执行完毕之后,由于之前采用***调用共享库操作函数dlsym与预配置的多个共享库进行挂钩并返回空指针,使得共享库无法重复调用原始函数。在执行完毕所述多个共享库之后,再调用原始函数,以确保原始函数只可被调用一次。
上述对本发明实施例中的方法进行了详细的描述,下面将对上述的方法对应的装置进行介绍。
图3示出了本发明实施例中的一种***操作执行装置的结构。参见图3,一种***操作执行装置300可以包括挂钩单元301、加载单元302和执行单元303,其中:
所述挂钩单元301,适于对***调用共享库操作函数库进行挂钩,以阻止预配置的共享库中的挂钩函数调用相应的原始函数;
所述加载单元302,适于加载预配置的多个共享库;在本发明一实施例中,所述加载单元302,适于按照所获取的共享库配置文件中所述多个共享库地址的排列顺序,加载所述多个共享库。
所述执行单元303,适于按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数,并执行对应的原始函数,以对相应的原始函数的执行操作进行扩展。
在本发明一实施例中,所述执行单元303,适于判断所述多个共享库中是否存在相应的协作开始挂钩函数;当确定所述多个共享库中存在相应的协作开始挂钩函数时,确定所述多个共享库处于协作模式;当确定所述多个共享库处于协作模式时,按照所述多个共享库的加载顺序分别执行相应位序的共享库的协作开始挂钩函数;将相应位序的共享库中的协作开始挂钩函数的执行结果和挂钩函数的参数传递至下一位序的共享库中的协作开始挂钩函数,并执行下一位序的共享库中的协作开始挂钩函数,直至所述多个共享库的协作开始挂钩函数执行完毕;当所述多个共享库的协作开始挂钩函数执行完毕时,执行所述原始函数。
在本发明一实施例中,所述执行单元303,还适于当执行完毕所述原始函数之后,将所述共享库中排在预设位序的共享库的协作开始挂钩函数的执行结果和所述原始函数的执行结果传递至对应的协作终止函数,并执行所述协作终止函数,以对所述原始函数的运行结果进行处理。
本发明一实施例中,所述执行单元303,还适于当确定所述多个共享库中均不存在相应的协作开始挂钩函数时,确定所述多个共享库处于兼容模式;当处于兼容模式时,按照所述多个共享库的加载顺序分别执行相应位序的共享库的挂钩函数,直至所述多个共享库的挂钩函数执行完毕;当确定所述多个共享库的挂钩函数执行完毕时,执行所述原始函数。
采用本发明实施例中的上述方案,将多个共享库中的挂钩函数与***的原始函数进行挂钩,通过多个共享库中的挂钩函数,可以对原始函数的操作进行任意地扩展,因而可以提高***操作的灵活性。
进一步地,确定多个共享库处于协作模式时,按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数和原始函数,可以通过预配置的多个共享库之间的协作实现对相应的原始函数的执行行为的扩展;当确定多个共享库可以分别对原始函数的执行行为进行扩展,因而可以进一步提高操作的灵活性。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例的方法及***做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (8)

1.一种***操作执行方法,其特征在于,包括:
对***调用共享库操作函数库进行挂钩,以阻止预配置的共享库中的挂钩函数调用相应的原始函数;
加载预配置的多个共享库;
按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数,并执行对应的原始函数,以对相应的原始函数的执行操作进行扩展,包括:
判断所述多个共享库中是否存在相应的协作开始挂钩函数;
当确定所述多个共享库中存在相应的协作开始挂钩函数时,确定所述多个共享库处于协作模式;
当确定所述多个共享库处于协作模式时,按照所述多个共享库的加载顺序分别执行相应位序的共享库的协作开始挂钩函数;
将相应位序的共享库中的协作开始挂钩函数的执行结果和挂钩函数的参数传递至下一位序的共享库中的协作开始挂钩函数,并执行下一位序的共享库中的协作开始挂钩函数,直至所述多个共享库的协作开始挂钩函数执行完毕;
当所述多个共享库的协作开始挂钩函数执行完毕时,执行所述原始函数。
2.根据权利要求1所述的***操作执行方法,其特征在于,所述加载预配置的多个共享库,包括:
按照所获取的共享库配置文件中所述多个共享库地址的排列顺序,加载所述多个共享库。
3.根据权利要求1所述的***操作执行方法,其特征在于,当执行完毕所述原始函数之后,还包括:
将所述共享库中排在预设位序的共享库的协作开始挂钩函数的执行结果和所述原始函数的执行结果传递至对应的协作终止函数,并执行所述协作终止函数,以对所述原始函数的运行结果进行处理。
4.根据权利要求1所述的***操作执行方法,其特征在于,所述按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数,并执行对应的原始函数,以对相应的原始函数的执行操作进行扩展,还包括:
当确定所述多个共享库中均不存在相应的协作开始挂钩函数时,确定所述多个共享库处于兼容模式;
当处于兼容模式时,按照所述多个共享库的加载顺序分别执行相应位序的共享库的挂钩函数,直至所述多个共享库的挂钩函数执行完毕;
当确定所述多个共享库的挂钩函数执行完毕时,执行所述原始函数。
5.一种***操作执行装置,其特征在于,包括:
挂钩单元,适于对***调用共享库操作函数库进行挂钩,以阻止预配置的共享库中的挂钩函数调用相应的原始函数;
加载单元,适于加载预配置的多个共享库;
执行单元,适于按照所述多个共享库的加载顺序执行相应共享库中的挂钩函数,并执行对应的原始函数,以对相应的原始函数的执行操作进行扩展,具体包括:判断所述多个共享库中是否存在相应的协作开始挂钩函数;当确定所述多个共享库中存在相应的协作开始挂钩函数时,确定所述多个共享库处于协作模式;当确定所述多个共享库处于协作模式时,按照所述多个共享库的加载顺序分别执行相应位序的共享库的协作开始挂钩函数;将相应位序的共享库中的协作开始挂钩函数的执行结果和挂钩函数的参数传递至下一位序的共享库中的协作开始挂钩函数,并执行下一位序的共享库中的协作开始挂钩函数,直至所述多个共享库的协作开始挂钩函数执行完毕;当所述多个共享库的协作开始挂钩函数执行完毕时,执行所述原始函数。
6.根据权利要求5所述的***操作执行装置,其特征在于,所述加载单元,适于按照所获取的共享库配置文件中所述多个共享库地址的排列顺序,加载所述多个共享库。
7.根据权利要求5所述的***操作执行装置,其特征在于,所述执行单元,还适于当执行完毕所述原始函数之后,将所述共享库中排在预设位序的共享库的协作开始挂钩函数的执行结果和所述原始函数的执行结果传递至对应的协作终止函数,并执行所述协作终止函数,以对所述原始函数的运行结果进行处理。
8.根据权利要求5所述的***操作执行装置,其特征在于,所述执行单元,还适于当确定所述多个共享库中均不存在相应的协作开始挂钩函数时,确定所述多个共享库处于兼容模式;当处于兼容模式时,按照所述多个共享库的加载顺序分别执行相应位序的共享库的挂钩函数,直至所述多个共享库的挂钩函数执行完毕;当确定所述多个共享库的挂钩函数执行完毕时,执行所述原始函数。
CN201710045054.3A 2017-01-19 2017-01-19 ***操作执行方法及装置 Active CN106897089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710045054.3A CN106897089B (zh) 2017-01-19 2017-01-19 ***操作执行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710045054.3A CN106897089B (zh) 2017-01-19 2017-01-19 ***操作执行方法及装置

Publications (2)

Publication Number Publication Date
CN106897089A CN106897089A (zh) 2017-06-27
CN106897089B true CN106897089B (zh) 2020-04-03

Family

ID=59199181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710045054.3A Active CN106897089B (zh) 2017-01-19 2017-01-19 ***操作执行方法及装置

Country Status (1)

Country Link
CN (1) CN106897089B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116072A (zh) * 2020-08-31 2022-03-01 华为技术有限公司 一种共享库的复用方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101387968A (zh) * 2008-09-28 2009-03-18 杭州华三通信技术有限公司 解决多图形化识别与验证动态链接库冲突的方法和装置
CN103246848A (zh) * 2013-03-26 2013-08-14 北京深思数盾科技有限公司 保护软件安全的方法和设备
CN105204861A (zh) * 2015-09-29 2015-12-30 上海二三四五网络科技有限公司 一种注册表重定向方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149164A (ja) * 2003-11-17 2005-06-09 Hitachi Ltd 共有ライブラリに格納された外部公開関数の呼び出し方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101387968A (zh) * 2008-09-28 2009-03-18 杭州华三通信技术有限公司 解决多图形化识别与验证动态链接库冲突的方法和装置
CN103246848A (zh) * 2013-03-26 2013-08-14 北京深思数盾科技有限公司 保护软件安全的方法和设备
CN105204861A (zh) * 2015-09-29 2015-12-30 上海二三四五网络科技有限公司 一种注册表重定向方法及装置

Also Published As

Publication number Publication date
CN106897089A (zh) 2017-06-27

Similar Documents

Publication Publication Date Title
CN107943577B (zh) 用于调度任务的方法和装置
US9678767B2 (en) Unified extensible firmware interface (UEFI) driver and protocol
WO2018028055A1 (zh) 在Windows***上运行Android应用程序的方法及装置
US9766958B2 (en) Runtime emulating static thread local storage of portable executable software code
US10019598B2 (en) Dynamic service discovery
CN108446146B (zh) 一种游戏数据采集方法及装置
US20110113229A1 (en) Method for Shortening the Boot Time of a Computer System
US20120227056A1 (en) Method and system for enabling access to functionality provided by resources outside of an operating system environment
CN111459691A (zh) 共享内存的读写方法及装置
CN104932933A (zh) 一种获取自旋锁的方法及装置
US9098701B2 (en) Application module injection device, computing device including application module injection function, and recording medium for recording program for executing application module injection method
CN111338829B (zh) 远程过程调用服务的调用方法及装置
CN111949513A (zh) 一种配置文件加载方法、装置、电子设备和可读存储装置
CN106897089B (zh) ***操作执行方法及装置
CN109829678B (zh) 一种回滚处理方法、装置以及电子设备
US20160253275A1 (en) Information processing device, information processing system, and exclusive control program
CN112559067A (zh) 一种动态库加载方法及相关装置
CN108446144B (zh) 一种应用程序启动方法、装置、终端及存储介质
US9348667B2 (en) Apparatus for managing application program and method therefor
JP2008537248A (ja) デジタルシグナルプロセッサ上でのマルチタスクの実施
CN109426529B (zh) 基于x窗口***图形绘制的方法、装置及终端
CN108958967B (zh) 一种数据处理的方法以及服务器
US9418175B2 (en) Enumeration of a concurrent data structure
CN110069221B (zh) 数据释放方法及装置
EP4418110A1 (en) Application launch method, application launch system, storage medium, and intelligent terminal

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant