CN110045998B - 加载动态库的方法及装置 - Google Patents

加载动态库的方法及装置 Download PDF

Info

Publication number
CN110045998B
CN110045998B CN201910324516.4A CN201910324516A CN110045998B CN 110045998 B CN110045998 B CN 110045998B CN 201910324516 A CN201910324516 A CN 201910324516A CN 110045998 B CN110045998 B CN 110045998B
Authority
CN
China
Prior art keywords
dynamic library
loading
target
application program
file descriptor
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
CN201910324516.4A
Other languages
English (en)
Other versions
CN110045998A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910324516.4A priority Critical patent/CN110045998B/zh
Publication of CN110045998A publication Critical patent/CN110045998A/zh
Application granted granted Critical
Publication of CN110045998B publication Critical patent/CN110045998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种加载动态库的方法及装置,应用于终端设备,所述终端设备上安装有应用程序,应用程序的安装包中包括动态库加载组件,应用程序中用于执行目标任务的隔绝进程在目标任务执行之前先加载动态库加载组件,再获取与目标任务对应的目标动态库的文件描述符,将目标动态库的文件描述符传递至已加载的动态库加载组件中,执行已加载的动态库加载组件,根据目标动态库的文件描述符加载目标动态库,开始执行目标任务。基于上述加载动态库的方法及装置,能够实现在隔绝进程下加载动态库,增大了隔绝进程的应用范围。

Description

加载动态库的方法及装置
技术领域
本申请涉及终端设备技术领域,更具体的说,是涉及一种加载动态库的方法及装置。
背景技术
Android(安卓)是一种基于Linux的自由及开放源代码的操作系统,主要应用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Service(服务)是Android应用程序(App,Application)的四大组件类型(即Activity,Service,Provider,Receiver)之一,对于应用程序运行时产生的需要大量耗时耗费资源的任务,可以基于Service类型的组件来完成。但是,这些任务往往需要通过网络访问获得如网页、音乐、在线视频等内容,如果这些内容中混入了恶意代码,将对Android系统或Android应用程序的数据造成破坏,因此,需要对这些任务的资源使用和访问控制进行约束。Android 4.2版本以后为Service类型的组件引入了一种新的进程类型isolatedProcess,中文简称为隔绝进程。隔绝进程自身没有任何权限,所以比较适合运行这些需要完成访问网络的任务的Service类型的组件。
另外,应用程序在执行多种任务的过程中,需要加载动态库,但是,隔绝进程自身没有任何权限,也就无法加载动态库,因此,对于需要加载动态库的Service类型的组件,将无法在隔绝进程下运行,这极大地限制了隔绝进程的应用范围。
因此,如何让Service类型的组件在隔绝进程下运行时实现加载动态库,增大隔绝进程的应用范围,成为需要本领域技术人员解决的技术问题。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的加载动态库的方法及装置。具体方案如下:
一种加载动态库的方法,应用于终端设备,所述终端设备上安装有应用程序,所述应用程序的安装包中包括动态库加载组件,所述方法包括:
所述应用程序的隔绝进程加载所述动态库加载组件;所述应用程序的隔绝进程用于执行目标任务;
所述隔绝进程获取与所述目标任务对应的目标动态库的文件描述符;
所述隔绝进程将所述目标动态库的文件描述符传递至已加载的所述动态库加载组件中;
所述隔绝进程执行所述已加载的动态库加载组件,根据所述目标动态库的文件描述符加载所述目标动态库。
本发明实施例还提供了一种加载动态库的装置,应用于终端设备,所述终端设备上安装有应用程序,所述应用程序的安装包中包括动态库加载组件,所述装置包括:
第一加载单元,用于提供给所述应用程序的隔绝进程加载所述动态库加载组件;所述应用程序的隔绝进程用于执行目标任务;
获取单元,用于提供给所述隔绝进程获取与所述目标任务对应的目标动态库的文件描述符;
传递单元,用于提供给所述隔绝进程将所述目标动态库的文件描述符传递至所述动态库加载组件;
第二加载单元,用于提供给所述隔绝进程执行所述动态库加载组件,根据所述目标动态库的文件描述符加载所述目标动态库。
本发明实施例还提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现如上所述的加载动态库的方法。
本发明实施例还提供了一种终端设备,包括:至少一个存储器和至少一个处理器;所述存储器存储有适于所述处理器执行的程序,以实现如上所述的加载动态库的方法的步骤。
借由上述技术方案,本申请公开了一种加载动态库的方法及装置,应用于终端设备,所述终端设备上安装有应用程序,应用程序的安装包中包括动态库加载组件,应用程序中用于执行目标任务的隔绝进程在目标任务执行之前先加载动态库加载组件,再获取与目标任务对应的目标动态库的文件描述符,将目标动态库的文件描述符传递至已加载的动态库加载组件中,执行已加载的动态库加载组件,根据目标动态库的文件描述符加载目标动态库,开始执行目标任务。基于上述加载动态库的方法及装置,能够实现在隔绝进程下加载动态库,增大了隔绝进程的应用范围。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的一种终端设备的示意图;
图2为本申请实施例提供的又一种终端设备的示意图;
图3为本申请实施例提供的又一种终端设备的示意图;
图4为本申请实施例提供的一种加载动态库的方法流程图;
图5为本申请实施例提供的一种加载动态库的方法的应用例的示意图;
图6为本申请实施例提供的一种加载动态库的装置的结构示意图;
图7为本申请实施例提供的一种加载动态库的装置的硬件结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本申请发明人在实现本申请方案的过程中发现,现有技术中有些场景中,Service类型的组件在隔绝进程下运行时能够实现加载动态库,即,某些Android系统自带的应用程序,可以让Service类型的组件在隔绝进程下运行时加载系统目录(/system/)下的动态库,比如,Google Chrome使用隔绝进程来实现沙箱进程,以达到网页的稳定性和安全性。在Google Chrome的实现中,隔绝进程中加载的动态库是系统目录(/system/)下的。另外,对于除Android系统自带的应用程序之外的普通应用程序,比如,用户自行安装的应用程序,应用程序安装包里的动态库也可以让Service类型的组件在隔绝进程下运行时加载,但是,在应用程序运行期间往往会从云端下载动态库,这种动态库是无法让Service类型的组件在隔绝进程下运行时加载。
本申请实施例中就是针对上述情况,提供了相应的改进方案。该方案可以提供给安装有普通应用程序的终端设备来使用,这种终端设备在运行普通应用程序的过程中可以让Service类型的组件在隔绝进程下运行时实现加载动态库。
下面对本申请实施例提供的具体实现方案进行详细介绍。
图1为本发明实施例提供的终端设备的示意图,该终端设备具体可以为手机、平板电脑等,参照图1,A、B、C、D、E、F、G、H、I、J、K、L、M为用户在该终端设备中安装的部分应用程序的图标。用户可通过触发某个应用程序的图标的方式启动该应用程序,该应用程序启动之后,终端设备即可显示该应用程序的运行界面。
作为一种示例,用户触发图标K后,启动应用程序K,应用程序K的一种运行界面是一个聊天界面,该聊天界面如图2所示,假设用户在与XX聊天的过程中,XX发过来一条网址信息,如用户想要查看该网址对应的网页,则可触发该网址打开如图3所示的网页。在用户触发网址之后即可执行本发明实施例的加载动态库的方法,在本发明实施例的加载动态库的方法执行完毕之后,即可实现让Service类型的组件在隔绝进程下打开如图3所示网页。
需要说明的是,用户在终端设备中安装的应用程序的安装包中包括动态库加载组件,该动态库加载组件可在应用程序开发阶段由开发人员打包到应用程序的安装包的Libs文件夹中。
基于图1至图3所示的终端设备的示意图,图4示出了本发明实施例提供的加载动态库的方法流程图,该方法可应用于上述终端设备中,参照图4,该方法可以包括:
步骤S10、所述应用程序的隔绝进程加载所述动态库加载组件,所述应用程序的隔绝进程用于执行目标任务。
需要说明的是,所述终端设备在接收到应用程序的启动指令后,建立所述应用程序的主进程,在所述应用程序的主进程运行期间,所述终端设备接收到目标任务后,通过所述主进程启动与所述应用程序的隔绝进程。作为一种示例,应用程序的启动指令具体可以为用户触发应用程序的图标,目标任务具体可以为用户触发应用程序运行过程中收到的一条网页信息。
需要说明的是,在应用程序的开发过程中,可以预设某些任务由Service类型的组件实现,并可以预设Service类型的组件在隔绝进程下运行,这种情况下,如果启动由Service类型的组件实现的任务,则该任务即在隔绝进程下实现,在执行该任务之前,采用本发明实施例提供的加载动态库的方法。作为另外一种实现方式,开发人员也可以为这些Service类型的组件设置多种运行环境,供用户在使用该应用程序的过程中进行选择,如果用户选择的运行环境对应隔绝进程,则采用本发明实施例提供的加载动态库的方法。
进一步需要说明的是,由于动态库加载组件可在应用程序开发阶段由开发人员打包到应用程序的安装包的Libs文件夹中,则本实施例中,所述应用程序的隔绝进程可通过System.loadLibrary接口从所述Libs文件夹中加载所述动态库加载组件。
步骤S11、所述隔绝进程获取与所述目标任务对应的目标动态库的文件描述符。
作为一种可实施方式,所述隔绝进程接收所述主进程通过跨通信连接发送的与所述目标任务对应的目标动态库的文件描述符。
步骤S12、所述隔绝进程将所述目标动态库的文件描述符传递至已加载的所述动态库加载组件中;
需要说明的是,当所述目标任务对应的目标动态库的文件描述符为ParcelFileDescriptor.class对象类型的文件描述符时,所述隔绝进程将所述目标动态库的文件描述符传递至已加载的所述动态库加载组件中,具体包括:所述隔绝进程通过Java本地接口将所述ParcelFileDescriptor.class对象类型的文件描述符调回到Java代码中进行读取,生成读取结果;所述隔绝进程将所述读取结果传递至所述动态库加载组件。
另外,当所述目标任务对应的目标动态库的文件描述符为ParcelFileDescriptor.class对象中的native fd时,所述隔绝进程将所述目标动态库的文件描述符传递至所述动态库加载组件,包括:所述隔绝进程将ParcelFileDescriptor.class对象中的native fd传递至所述动态库加载组件。
步骤S13、所述隔绝进程执行所述已加载的动态库加载组件,根据所述目标动态库的文件描述符加载所述目标动态库。
需要说明的是,本发明实施例提供的动态库加载组件是使用malloc(分配内存)+Copy(拷贝内容)的方式实现目标动态库的加载的,具体的,所述隔绝进程执行所述已加载的动态库加载组件,将与所述目标动态库的文件描述符对应的目标动态库拷贝到预设的内存中。
本实施例公开了一种加载动态库的方法,应用于终端设备,所述终端设备上安装有应用程序,应用程序的安装包中包括动态库加载组件,应用程序中用于执行目标任务的隔绝进程在目标任务执行之前先加载动态库加载组件,再获取与目标任务对应的目标动态库的文件描述符,将目标动态库的文件描述符传递至已加载的动态库加载组件中,执行已加载的动态库加载组件,根据目标动态库的文件描述符加载目标动态库,开始执行目标任务。基于上述加载动态库的方法,能够实现在隔绝进程下加载动态库,增大了隔绝进程的应用范围。
本发明实施例提供的加载动态库的方法的应用例可以如下:
图5为本发明实施例提供的加载动态库的方法的应用例的示意图,本应用例对应的应用程序为“微信”,在“微信”中打开一个独立的网页是在“com.tencent.mm.tools”进程中进行,因此,在接收到打开网页的任务之后,“com.tencent.mm.tools”进程进行初始化,并在初始化的时候基于“bindService”绑定一个Service类型的组件“SandBox”,打开网页的任务由该组件执行,并且预设该组件在“isolatedProcess”类型的进程,即隔绝进程中运行,在本应用例中,主进程为“com.tencent.mm.tools进程”,隔绝进程为“SandBox进程”。
SandBox进程初始化完毕后加载TbsLinker。TbsLinker即为上述实施例中描述的动态库加载组件,TbsLinker是通过System.loadLibrary从APK的Libs中加载的。
同时,主进程初始化完成后加载TBS(腾讯浏览服务),加载完成后进行TBS内核的初始化,在TBS内核初始化过程中,启动SandBox组件,并读取动态库x5_sandbox.so(x5内核so)文件,并基于IPC(进程间通信)的方式将动态库x5_sandbox.so(x5内核so)文件的文件描述符(即图中所示的x5_sandbox.so文件对应的ParcelFileDescriptor)发送至SandBox进程,传递给TbsLinker,由TbsLinker执行so映射、加载、重定向等处理实现动态库x5_sandbox.so(x5内核so)文件的加载。在加载成功之后,即可启动X5SandBox执行打开网页的任务。
基于该应用例可以看出,诸如“微信”这种非Android系统自带的应用程序中,也可实现让Service类型的组件在隔绝进程下运行时实现加载动态库。
下面对本发明实施例提供的加载动态库的装置进行介绍,下文描述的加载动态库的装置可与上文加载动态库的方法相互对应参照。
图6为本发明实施例提供的加载动态库的装置的结构框图,该加载动态库的装置具体可以为移动游戏的客户端,参照图6,该登录移动游戏的装置可以包括:
第一加载单元10,用于提供给所述应用程序的隔绝进程加载所述动态库加载组件;所述应用程序的隔绝进程用于执行目标任务;
获取单元11,用于提供给所述隔绝进程获取与所述目标任务对应的目标动态库的文件描述符;
传递单元12,用于提供给所述隔绝进程将所述目标动态库的文件描述符传递至所述动态库加载组件;
第二加载单元13,用于提供给所述隔绝进程执行所述动态库加载组件,根据所述目标动态库的文件描述符加载所述目标动态库。
可选的,加载动态库的装置可以为硬件设备,上文描述的单元可以设置于加载动态库的装置内的功能模块。图7示出了加载动态库的装置的硬件结构框图,参照图7,登录移动游戏的装置可以包括:处理器1,通信接口2,存储器3和通信总线4;其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;存储器3,用于存放程序;程序可以包括程序代码,所述程序代码包括计算机操作指令;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路;存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,程序可具体用于:
所述应用程序的隔绝进程加载所述动态库加载组件;所述应用程序的隔绝进程用于执行目标任务;
所述隔绝进程获取与所述目标任务对应的目标动态库的文件描述符;
所述隔绝进程将所述目标动态库的文件描述符传递至已加载的所述动态库加载组件中;
所述隔绝进程执行所述已加载的动态库加载组件,根据所述目标动态库的文件描述符加载所述目标动态库。
本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述加载动态库的方法。
本申请实施例提供了一种终端设备,终端设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现加载动态库的方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种加载动态库的方法,其特征在于,应用于终端设备,所述终端设备上安装有应用程序,所述应用程序的安装包中包括动态库加载组件,所述方法包括:
所述应用程序的隔绝进程加载所述动态库加载组件;所述应用程序的隔绝进程用于执行目标任务;所述应用程序的隔绝进程为没有权限加载动态库的进程;
所述隔绝进程获取与所述目标任务对应的目标动态库的文件描述符;
所述隔绝进程将所述目标动态库的文件描述符传递至已加载的所述动态库加载组件中;
所述隔绝进程执行所述已加载的动态库加载组件,根据所述目标动态库的文件描述符加载所述目标动态库。
2.根据权利要求1所述的方法,其特征在于,在所述应用程序的隔绝进程加载所述动态库加载组件之前,所述方法还包括:
所述终端设备接收到所述应用程序的启动指令后,建立所述应用程序的主进程;
在所述应用程序的主进程运行期间,所述终端设备接收到目标任务后,通过所述主进程启动与所述应用程序的隔绝进程。
3.根据权利要求1所述的方法,其特征在于,所述动态库加载组件在所述应用程序的安装包的Libs文件夹中,则所述应用程序的隔绝进程加载所述动态库加载组件,包括:
所述应用程序的隔绝进程通过System.loadLibrary接口从所述Libs文件夹中加载所述动态库加载组件。
4.根据权利要求2所述的方法,其特征在于,所述隔绝进程获取与所述目标任务对应的目标动态库的文件描述符,包括:
所述隔绝进程接收所述主进程通过跨通信连接发送的与所述目标任务对应的目标动态库的文件描述符。
5.根据权利要求4所述的方法,其特征在于,与所述目标任务对应的目标动态库的文件描述符为ParcelFileDescriptor.class对象类型的文件描述符;
则所述隔绝进程将所述目标动态库的文件描述符传递至所述动态库加载组件,包括:
所述隔绝进程通过Java本地接口将所述ParcelFileDescriptor.class对象类型的文件描述符调回到Java代码中进行读取,生成读取结果;
所述隔绝进程将所述读取结果传递至所述动态库加载组件。
6.根据权利要求4所述的方法,其特征在于,与所述目标任务对应的目标动态库的文件描述符为ParcelFileDescriptor.class对象中的native fd;
则所述隔绝进程将所述目标动态库的文件描述符传递至所述动态库加载组件,包括:
所述隔绝进程将ParcelFileDescriptor.class对象中的native fd传递至所述动态库加载组件。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标动态库的文件描述符加载所述目标动态库,包括:
将与所述目标动态库的文件描述符对应的目标动态库拷贝到预设的内存中。
8.一种加载动态库的装置,其特征在于,应用于终端设备,所述终端设备上安装有应用程序,所述应用程序的安装包中包括动态库加载组件,所述装置包括:
第一加载单元,用于提供给所述应用程序的隔绝进程加载所述动态库加载组件;所述应用程序的隔绝进程用于执行目标任务;所述应用程序的隔绝进程为没有权限加载动态库的进程;
获取单元,用于提供给所述隔绝进程获取与所述目标任务对应的目标动态库的文件描述符;
传递单元,用于提供给所述隔绝进程将所述目标动态库的文件描述符传递至所述动态库加载组件;
第二加载单元,用于提供给所述隔绝进程执行所述动态库加载组件,根据所述目标动态库的文件描述符加载所述目标动态库。
9.一种存储介质,其上存储有程序,该程序被处理器执行时实现如权利要求1至7中任一项所述的加载动态库的方法。
10.一种终端设备,其特征在于,包括:至少一个存储器和至少一个处理器;所述存储器存储有适于所述处理器执行的程序,以实现权利要求1-7任一项所述的加载动态库的方法的步骤。
CN201910324516.4A 2019-04-22 2019-04-22 加载动态库的方法及装置 Active CN110045998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910324516.4A CN110045998B (zh) 2019-04-22 2019-04-22 加载动态库的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910324516.4A CN110045998B (zh) 2019-04-22 2019-04-22 加载动态库的方法及装置

Publications (2)

Publication Number Publication Date
CN110045998A CN110045998A (zh) 2019-07-23
CN110045998B true CN110045998B (zh) 2021-07-16

Family

ID=67278254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910324516.4A Active CN110045998B (zh) 2019-04-22 2019-04-22 加载动态库的方法及装置

Country Status (1)

Country Link
CN (1) CN110045998B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI811644B (zh) * 2020-03-09 2023-08-11 林俊孝 一種動態連接網路通訊渠道的方法與運用該方法之軟體系統
CN113918235B (zh) * 2021-09-17 2023-11-17 贝壳找房(北京)科技有限公司 应用加载的方法及装置、存储介质
CN116661905B (zh) * 2023-07-27 2023-10-20 北京瑞华赢科技发展股份有限公司 一种基于动态库加载实现设备自动适配方法以及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070261044A1 (en) * 2006-05-04 2007-11-08 Jonathan Clark Chained Hook Function Serving Multiple Versions Of Identically Named Dynamically Loaded Libraries
CN101071388B (zh) * 2006-05-12 2010-05-12 联想(北京)有限公司 一种进程隔离控制系统及方法
US20080016314A1 (en) * 2006-07-12 2008-01-17 Lixin Li Diversity-based security system and method
US8869141B2 (en) * 2010-03-09 2014-10-21 Avistar Communications Corp. Scalable high-performance interactive real-time media architectures for virtual desktop environments
CN102486735A (zh) * 2010-12-02 2012-06-06 腾讯科技(深圳)有限公司 一种手机软件动态加载方法及装置
CN103246525B (zh) * 2012-02-06 2017-03-08 腾讯科技(深圳)有限公司 一种实现应用运行的方法及客户端
US9619216B2 (en) * 2014-04-28 2017-04-11 Citrix Systems, Inc. Modifying an application for managed execution
CN106708550B (zh) * 2015-11-17 2020-05-29 百度在线网络技术(北京)有限公司 一种共享对象库加载的方法及装置
CN105847446B (zh) * 2016-05-31 2020-08-04 腾讯科技(深圳)有限公司 一种网络数据的获取方法、装置和系统
CN108399331B (zh) * 2017-02-06 2023-05-05 腾讯科技(深圳)有限公司 应用进程试用方法和系统
CN107205055B (zh) * 2017-08-01 2020-02-14 海信集团有限公司 终端升级方法及装置
CN108415739B (zh) * 2018-02-28 2020-04-14 腾讯科技(深圳)有限公司 一种动态链接库函数的钩挂方法、装置和存储介质
CN108595958B (zh) * 2018-05-09 2021-05-04 北京奇虎科技有限公司 一种用于实现跨进程注入的方法、装置及终端
CN108829465B (zh) * 2018-06-27 2021-01-08 北京计算机技术及应用研究所 一种基于直接读写flash的本地动态加载系统及方法
CN109086102A (zh) * 2018-08-02 2018-12-25 深圳市元征科技股份有限公司 诊断软件的动态加载方法、装置及存储介质

Also Published As

Publication number Publication date
CN110045998A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
CN110045998B (zh) 加载动态库的方法及装置
US11757937B2 (en) Enabling webapp security through containerization
CN108121594B (zh) 一种进程管理方法及装置
JP2005327239A (ja) セキュリティ関連プログラミング・インターフェース
JP6018316B2 (ja) 端末認証登録システム、端末認証登録方法およびプログラム
US10171502B2 (en) Managed applications
US20140006598A1 (en) Methods, apparatuses and computer program products for facilitating dynamic origin-based domain allocation
US10754717B2 (en) Fast and accurate identification of message-based API calls in application binaries
US20150150119A1 (en) Framework for fine-grain access control from high-level application permissions
US20220405385A1 (en) Secure container construction device and method executable by android application, and computer-readable recording medium on which program thereof is recorded
US10223526B2 (en) Generating packages for managed applications
CN108289080B (zh) 一种访问文件系统的方法、装置和系统
CN107636667B (zh) 在设备中创建多个工作空间的系统及方法
CN112199151B (zh) 一种应用程序的运行方法及装置
US20210136080A1 (en) Managing shared applications at the edge of a content delivery network
US20070079371A1 (en) Reducing security threats from untrusted code
CN113282363A (zh) 一种优化混合app的方法及装置
CN108229150B (zh) 客户端的信息校验方法和装置
US10521592B2 (en) Application translocation
CN105791568B (zh) 一种信息处理方法及其终端
CN115695454B (zh) 一种mec主机的数据存储方法、装置、设备及存储介质
CN116975850B (zh) 合约运行方法、装置、电子设备及存储介质
Ghosh et al. Mobile OS and application protocols
JP7255681B2 (ja) 実行制御システム、実行制御方法、及びプログラム
KR101397431B1 (ko) 격리된 실행 환경 제공 시스템 및 그 방법

Legal Events

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