CN111310131B - so库调用处理方法、装置、电子装置及存储介质 - Google Patents
so库调用处理方法、装置、电子装置及存储介质 Download PDFInfo
- Publication number
- CN111310131B CN111310131B CN202010058305.3A CN202010058305A CN111310131B CN 111310131 B CN111310131 B CN 111310131B CN 202010058305 A CN202010058305 A CN 202010058305A CN 111310131 B CN111310131 B CN 111310131B
- Authority
- CN
- China
- Prior art keywords
- library
- calling
- java layer
- application program
- result
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013475 authorization Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种so库调用处理方法,方法包括:响应于java层对so库的调用指令,对调用so库的应用程序进行鉴权;当对应用程序的鉴权结果为合格时,调用java层并确定java层的环境是否符合预设条件;当java层的环境符合预设条件时,运行so库并将运行结果返回至java层。本申请提供的so库调用处理方法,在java层调用so库时,首先对调用so库的应用程序进行调用权限的鉴别,鉴权确认应用程序具有调用权限后再对java层的环境进行确定,当java层的环境符合预设环境时才可以对so库进行调用。采用该方法对so库进行调用,避免了获取到so库调用接口参数就能调用so库的问题。需要经过对调用的应用程序的鉴权以及对运行的java环境的检测后才可以调用so库,提升了so库的安全性。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种so库调用处理方法、装置、电子装置及存储介质。
背景技术
在Android系统开发过程中,通常会将代码封装成一个so(shared object,共享库)库以供其他模块的调用。该方法一方面可以提高代码的复用率,提高开发效率,另一方面也可以对so库中的代码实现一定的保护,增加代码破译的难度。然而,so库本身作为一种共享库,其本身对于外在的调用并没有防护措施,任意第三方一旦获取到so库的调用接口参数,就可以直接调用so库以实现相应功能。这导致了so库的安全性较低。
发明内容
为解决上述任意第三方一旦获取到so库的调用接口参数,就可以直接调用so库以实现相应功能,导致so库的安全性较低的技术问题,本申请实施例提供了一种so库调用处理方法、装置、电子装置及存储介质。
本申请实施例第一方面提供了一种so库调用处理方法,方法包括:
响应于java层对so库的调用指令,对调用所述so库的应用程序进行鉴权;
当对所述应用程序的鉴权结果为合格时,调用所述java层并确定所述java层的环境是否符合预设条件;
当所述java层的环境符合所述预设条件时,运行所述so库并将运行结果返回至所述java层。
本申请实施例第二方面提供了一种so库调用处理装置,装置包括:
鉴权模块,用于响应于java层对so库的调用指令,对调用所述so库的应用程序进行鉴权;
java层环境确定模块,用于当对所述应用程序的鉴权结果为合格时,调用所述java层并确定所述java层的环境是否符合预设条件;
运行模块,用于当所述java层的环境符合所述预设条件时,运行所述so库并将运行结果返回至所述java层。
本申请实施例第三方面提供了一种电子装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述本申请实施例第一方面提供的so库调用处理方法中的各步骤。
本申请实施例第四方面提供了一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的so库调用处理方法中的各步骤。
由上可见,本申请实施例提供的so库调用处理方法,方法包括:响应于java层对so库的调用指令,对调用so库的应用程序进行鉴权;当对应用程序的鉴权结果为合格时,调用java层并确定java层的环境是否符合预设条件;当java层的环境符合预设条件时,运行so库并将运行结果返回至java层。本申请提供的so库调用处理方法,在java层调用so库时,首先对调用程序进行鉴权,鉴权合格后再对java层的环境进行确定,当java层的环境符合预设环境时才可以对so库进行调用。采用该方法对so库进行调用,避免了获取到so库调用接口参数就能调用so库的问题。需要经过对调用的应用程序的鉴权以及对运行的java环境的检测后才可以调用so库,提升了so库的安全性。
附图说明
图1为一种电子设备的结构框图;
图2为本申请实施例提供的so库调用处理方法的一种流程示意图;
图3为本申请实施例提供的so库调用处理方法的又一流程示意图;
图4为本申请实施例提供的so库调用处理装置的结构示意图;
图5为本申请实施例提供的电子装置的结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了一种电子设备的结构框图。本申请实施例提供的so库调用处理方法可应用于如图1所示的电子设备10中,电子设备10可以但不限于包括:需要依靠电池维持正常运行且支持安装应用程序以及应用程序处理功能的智能手机、平板电脑、个人电脑以及穿戴智能设备等。
如图1所示,电子设备10包括存储器101、存储控制器102、一个或多个(图中仅示出一个)处理器103、指令输入组件104。这些组件通过一条或多条通讯总线/信号线105相互通讯。
可以理解,图1所示的结构仅为示意,其并不对电子设备的结构造成限定。电子设备10还可以包括比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1所示的各组件可以采用硬件、软件或者其组合实现。
存储器101可用于存储软件程序以及模块,如本申请实施例中的so库调用处理方法与装置对应的指令以及模块以及so库包含的代码,处理器103通过运行存储在存储器101内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述so库调用处理方法以及装置中各模块的功能。
存储器101可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实施例中,存储器101可进一步包括相对于处理器103远程设置的存储器,这些远程存储器可以通过网络连接至电子设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器103以及其他可能的组件对存储器101的访问可在存储控制器102的控制下进行。
指令输入组件104通过控制在安装在设备10上的应用程序进行指令输入,从而对存储于存储器101中的so库文件进行调用申请。
基于上述电子设备10,为了解决上述在这类电子设备中第三方软件获取到so库的调用接口后即可直接调用so库以实现相应功能导致so库的安全性较低的技术问题。本申请实施例提供一种so库调用处理方法,如图2所示,为本申请实施例提供的so库调用处理方法的流程示意图,方法包括:
步骤201,响应于java层对so库的调用指令,对调用so库的应用程序进行鉴权;
在本申请实施例中,Android系统中安装的应用程序在使用过程中会对so库中的代码进行调用,以使用so库中代码的处理功能。在检测到应用程序通过处理器中java层代码对so库进行调用时,即响应于对so库的调用指令,处理器先对申请调用so库的应用程序的权限进行鉴别,以确认申请调用so库的应用程序是否具备调用权限。
步骤202,当对应用程序的鉴权结果为合格时,调用java层并确定java层的环境是否符合预设条件;
在本申请实施例中,当第一步对应用程序的鉴权结果为合格时,即确定了调用so库的应用程序具备调用权限后,再对java层进行调用,即调用java层的代码,通过对java层的反调用以确定java层的环境是否符合调用要求。具体可以设置一定的条件以判断java层的环境是否符合调用要求。
步骤203,当java层的环境符合预设条件时,运行so库并将运行结果返回至java层。
在本申请实施例中,当对java层环境判定确定java层的环境也符合要求,能够满足预设的条件时,则确定允许应用程序对so库进行调用并运行so库,即运行so库中的代码。得到运行结果后将运行结果返回至java层中,再从java层返回至应用程序中以显示调用结果。
根据上述描述可知,本申请实施例提供的so库调用处理方法,方法包括:响应于java层对so库的调用指令,对调用so库的应用程序进行鉴权;当对应用程序的鉴权结果为合格时,调用java层并确定java层的环境是否符合预设条件;当java层的环境符合预设条件时,运行so库并将运行结果返回至java层。本申请提供的so库调用处理方法,在java层调用so库时,首先对调用so库的应用程序进行调用权限的鉴别,鉴权确认应用程序具有调用权限后再对java层的环境进行确定,当java层的环境符合预设环境时才可以对so库进行调用。采用该方法对so库进行调用,避免了获取到so库调用接口参数就能调用so库的问题。需要经过对调用的应用程序的鉴权以及对运行的java环境的检测后才可以调用so库,提升了so库的安全性。
进一步地,对调用so库的应用程序进行鉴权,包括:
获取调用so库的应用程序的程序名称以及用户ID;
根据应用程序名称以及用户ID对调用so库的应用程序进行鉴权。
在本申请实施例中,对调用so库的应用程序进行鉴权,先行获取调用so库的应用程序的程序名称以及登录该应用程序的用户ID,再根据应用程序的程序名称以及登录该应用程序的用户ID确认此次调用是否具备调用权限。
进一步地,根据应用名称以及用户ID对调用so库的应用程序进行鉴权,包括:
确定应用程序的程序名称是否属于预设的授权程序名称集合;
当应用程序的程序名称属于预设的授权程序名称集合时,确定用户ID是否属于预设的授权用户ID集合;
当用户ID属于预设的授权用户ID集合时,确定调用so库的应用程序鉴权结果为合格。
在本申请实施例中,获取了对so库进行调用的应用程序的程序名称以及登录该程序的用户ID之后,对程序名称以及用户ID进行确认。以判断该调用是否具有权限。具体的,例如若授权调用so库的应用程序名称集合包括:应用程序A、应用程序B以及应用程序C三个元素。则判断实际对so库进行调用的应用程序的程序名称是否属于这个授权的应用程序名称集合中,即判断调用so库的应用程序名称是否为应用程序A、应用程序B以及应用程序C三个元素的一个。
若调用so库的应用程序的程序名称不属于授权程序名称集合,则确定该应用程序不具有调用权限,此时返回错误至java层并结束调用进程。若调用so库的应用程序名称属于授权程序名称集合,则再对登录该应用程序的用户ID进行二次判断。同样地,授权调用so库的用户ID也存在一个具有多个元素的集合。例如,授权调用so库的用户ID集合包括:a用户ID、b用户ID、c用户ID以及d用户ID,则判断调用so库的用户ID是否属于授权用户ID集合,即判断调用so库的用户ID是否为a用户ID、b用户ID、c用户ID以及d用户ID中的一个。当登录应用程序的用户ID不属于授权用户ID集合时,则确定该应用程序不具备调用so库的调用权限,返回错误至java层并结束调用进程。当登录应用程序的用户ID属于授权用户ID集合时,则确定该应用程序具备调用so库的权限,进而可以确定调用so库的应用程序鉴权结果为合格。
进一步地,调用java层并确定java层的环境是否符合预设条件,包括:
调用java层,并接受java层返回的中间结果;
根据中间结果确定java层的环境是否符合预设条件。
在本申请实施例中,在对调用so库的应用程序进行鉴权,确定调用so库的应用程序具备调用权限后,再对java层进行调用。调用java层即调用java层代码,亦可称作是so库对java层的反调用。调用java层得到java层代码运行的结果,该结果作为中间结果,再根据java层运行得到的中间结果进行确定java层的环境是否符合授权调用so库的条件。
具体地,根据中间结果确定java层的环境是否符合预设条件,包括:
确定中间结果是否属于预设的授权结果集合;
当中间结果属于预设的授权结果集合时,确定java层的环境符合预设条件。
在本申请实施例中,当接收到调用java层代码后由java层返回的中间结果后,对java层返回的中间结果进行判断。可以理解的是,可以设置授权结果集合,当java层返回的中间结果属于授权结果集合时,则确定java层环境符合预设条件。当java层返回的中间结果不属于授权结果集合时,则确定java层环境不符合预设条件,java层环境不符合预设条件时,返回调用错误至java层并停止调用进程以保护so库。
进一步地,运行so库并将运行结果返回至java层,包括:
获取中间结果中的调用参数;
使用调用参数运行so库,得到运行结果;
将运行结果返回至java层。
在本申请实施例中,当对调用java层得到的中间结果进行判定从而确定java层环境符合预设条件后,获取java层返回的中间结果中包含的调用参数,该调用参数可结合so库中的代码运行得到运行结果。可以理解的是,不同的调用参数结合so库代码运行可以得到不同的运行结果。使用中间结果中包含的调用参数运行so库得到运行结果后,再将运行结果返回至java层。从而实现了对so库的调用。
进一步地,如图3所示,为本申请实施例提供的so库调用处理方法的又一流程示意图,方法包括:
步骤301,响应与java层对so库的调用指令,对调用so库的应用程序进行鉴权;
步骤302,当对应用程序的鉴权结果为合格时,调用java层并确定java层的环境是否符合预设条件;
步骤303,当java层的环境符合预设条件时,运行so库并将运行结果返回至java层;
步骤304,将运行结果以及运行结果返回至java层的时间存储于存储器中。
在本申请实施例中,可以理解的是,步骤301至步骤303与图2实施例中步骤201至步骤203相同,此处不再予以赘述。当java层完成对so库的调用,得到so库返回的运行结果时,对so库经调用返回的运行结果以及结果返回的时间进行存储,以便后期对调用情况进行复盘。进一步地,也可以对调用so库的应用程序信息进行存储。
如图4所示,为本申请实施例提供的so库调用处理装置,装置包括:
鉴权模块401,用于响应于java层对so库的调用指令,对调用so库的应用程序进行鉴权;
在本申请实施例中,鉴权模块401在检测到存在应用程序通过java层代码对so库进行调用时,鉴权模块401对调用so库的应用程序进行鉴权。具体地,鉴权模块401获取调用so库的应用程序的程序名称以及登录该应用程序的用户ID,并对获取到的应用程序名称以及用户ID进行分析以确定其是否属于预设的授权应用程序名称集合以及授权用户ID集合。当获取到的应用程序的程序名称属于预设的授权应用程序名称集合且获取到的用户ID属于授权用户ID集合时,则鉴权模块401确定调用so库的应用程序具有调用so库的权限,即对应用程序的鉴权结果合格。否则则确定调用so库的应用程序不具有调用so库的权限,即鉴权结果为不合格,此时鉴权模块401输出错误并终止调用so的进程。
java层环境确定模块402,用于当对应用程序的鉴权结果为合格时,调用java层并确定java层的环境是否符合预设条件。
在本申请实施例中,当鉴权模块401对调用so库的应用程序进行鉴权后确定调用so库的应用程序具有调用权限,即鉴权结果为合格时,java层环境确定模块402调用java层并根据调用java层得到的结果确定java层的环境是否符合预设条件。具体地,java层环境确定模块402调用java层的代码后,得到java层返回的中间结果,java层环境确定模块402对java层返回的中间结果进行分析,以确定其是否属于预设的授权结果集合,当中间结果属于预设的授权结果集合时,java层环境确定模块402确定java层环境符合预设条件。否则则判定java层环境不符合预设条件,当确定java层环境不符合预设条件时,java层环境确定模块402输出错误并终止对so库进行调用的进程。
运行模块403,用于当java层的环境符合预设条件时,运行so库并将运行结果返回至java层。
在本申请实施例中,当java层环境确定模块402确定java层环境符合预设条件时,运行模块403控制运行so库中代码,并将运行结果返回至java层。具体地,运行模块403获取java层环境确定模块402调用java层得到的中间结果,并对该中间结果进行分析,得到中间结果中包含的调用参数。运行模块403运用该调用参数运行so库代码,得到运行结果。并将该得到的运行结果返回至java层。
可以理解的是,本申请实施例提供的so库调用处理装置还可以包括,存储模块,用于将运行结果以及运行结果返回的时间保存于存储器中。可以理解的是,保存模块还可以将调用so的应用程序信息保存于存储器中。
根据上述描述,本申请实施例提供的so库调用处理装置,装置包括:鉴权模块,用于响应于java层对so库的调用指令,对调用so库的应用程序进行鉴权;java层环境确定模块,用于当对应用程序的鉴权结果为合格时,调用java层并确定java层的环境是否符合预设条件;以及运行模块,用于当java层的环境符合预设条件时,运行so库并将运行结果返回至java层。本申请提供的so库调用处理装置,在java层调用so库时,首先对调用so库的应用程序进行调用权限的鉴别,鉴权确认应用程序具有调用权限后再对java层的环境进行确定,当java层的环境符合预设环境时才可以对so库进行调用。采用该装置对so库进行调用,避免了获取到so库调用接口参数就能调用so库的问题。需要经过对调用的应用程序的鉴权以及对运行的java环境的检测后才可以调用so库,提升了so库的安全性。
本申请实施例第三方面提供了一种电子装置,请参阅图5,图5为本申请实施例提供的电子装置的结构示意图。该电子装置可用于实现前述实施例中的so库调用处理方法。如图5所示,该电子装置主要包括:
存储器501、处理器502、总线503及存储在存储器501上并可在处理器502上运行的计算机程序,存储器501和处理器502通过总线503连接。处理器502执行该计算机程序时,实现前述实施例中的so库调用处理方法。其中,处理器的数量可以是一个或多个。
存储器501可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器501用于存储可执行程序代码,处理器602与存储器601耦合。
进一步的,本申请实施例还提供了一种存储介质,该存储介质可以是设置于上述各实施例中的电子装置中,该存储介质可以是前述图5所示实施例中的存储器。
该存储介质上存储有计算机程序,该程序被处理器执行时实现前述实施例中的so库调用处理方法。进一步的,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的so库调用处理方法、装置、电子装置及存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种so库调用处理方法,其特征在于,所述方法包括:
响应于java层对so库的调用指令,对调用所述so库的应用程序进行鉴权;
当对所述应用程序的鉴权结果为合格时,调用所述java层并接收所述java层返回的中间结果,并根据所述中间结果确定所述java层的环境是否符合预设条件;其中,所述中间结果是所述java层代码运行的结果;
当所述java层的环境符合所述预设条件时,获取所述中间结果中的调用参数,使用所述调用参数运行所述so库,得到运行结果,并将所述运行结果返回至所述java层。
2.根据权利要求1所述的so库调用处理方法,其特征在于,所述对调用so库的应用程序进行鉴权,包括:
获取调用so库的应用程序的程序名称以及用户ID;
根据所述应用程序名称以及所述用户ID对所述调用so库的应用程序进行鉴权。
3.根据权利要求2所述的so库调用处理方法,其特征在于,所述根据所述应用程序名称以及所述用户ID对所述调用so库的应用程序进行鉴权,包括:
确定所述应用程序的程序名称是否属于预设的授权程序名称集合;
当所述应用程序的程序名称属于预设的授权程序名称集合时,确定所述用户ID是否属于预设的授权用户ID集合;
当所述用户ID属于预设的授权用户ID集合时,确定所述调用so库的应用程序鉴权结果为合格。
4.根据权利要求1所述的so库调用处理方法,其特征在于,所述根据所述中间结果确定所述java层的环境是否符合预设条件,包括:
确定所述中间结果是否属于预设的授权结果集合;
当所述中间结果属于预设的授权结果集合时,确定所述java层的环境符合预设条件。
5.根据权利要求1所述的so库调用处理方法,其特征在于,所述将所述运行结果返回至所述java层之后,还包括:
将所述运行结果以及所述运行结果返回至所述java层的时间存储于存储器中。
6.一种so库调用处理装置,其特征在于,所述装置包括:
鉴权模块,用于响应于java层对so库的调用指令,对调用所述so库的应用程序进行鉴权;
java层环境确定模块,用于当对所述应用程序的鉴权结果为合格时,调用所述java层并接收所述java层返回的中间结果,并根据所述中间结果确定所述java层的环境是否符合预设条件;其中,所述中间结果是所述java层代码运行的结果;
运行模块,用于当所述java层的环境符合所述预设条件时,获取所述中间结果中的调用参数,使用所述调用参数运行所述so库,得到运行结果,并将所述运行结果返回至所述java层。
7.根据权利要求6所述的so库调用处理装置,其特征在于,所述装置还包括:
获取模块,用于获取调用so库的应用程序的程序名称以及用户ID;所述鉴权模块还用于根据所述应用程序名称以及所述用户ID对所述调用so库的应用程序进行鉴权。
8.根据权利要求7所述的so库调用处理装置,其特征在于,所述装置还包括:
确定模块,用于确定所述应用程序的程序名称是否属于预设的授权程序名称集合;当所述应用程序的程序名称属于预设的授权程序名称集合时,确定所述用户ID是否属于预设的授权用户ID集合;当所述用户ID属于预设的授权用户ID集合时,确定所述调用so库的应用程序鉴权结果为合格。
9.一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1至5中任意一项所述的so库调用处理方法中的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至5中的任意一项所述的so库调用处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010058305.3A CN111310131B (zh) | 2020-01-19 | 2020-01-19 | so库调用处理方法、装置、电子装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010058305.3A CN111310131B (zh) | 2020-01-19 | 2020-01-19 | so库调用处理方法、装置、电子装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111310131A CN111310131A (zh) | 2020-06-19 |
CN111310131B true CN111310131B (zh) | 2022-11-04 |
Family
ID=71160153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010058305.3A Active CN111310131B (zh) | 2020-01-19 | 2020-01-19 | so库调用处理方法、装置、电子装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111310131B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148869A (zh) * | 2011-02-12 | 2011-08-10 | 惠州Tcl移动通信有限公司 | Java应用程序向本地传递信息的方法及设备 |
CN102254117A (zh) * | 2011-07-07 | 2011-11-23 | 李鹏 | 一种基于虚拟化技术的数据防泄密系统 |
CN103577237A (zh) * | 2013-11-15 | 2014-02-12 | 北京奇虎科技有限公司 | 应用程序启动的控制方法及装置 |
CN107196907A (zh) * | 2017-03-31 | 2017-09-22 | 武汉斗鱼网络科技有限公司 | 一种安卓so文件的保护方法及装置 |
CN107256349A (zh) * | 2017-06-13 | 2017-10-17 | 广州阿里巴巴文学信息技术有限公司 | 动态库防盗用方法、装置、电子设备及可读存储介质 |
CN108416224A (zh) * | 2018-02-13 | 2018-08-17 | 北京梆梆安全科技有限公司 | 一种数据加解密方法及装置 |
CN108595942A (zh) * | 2018-04-12 | 2018-09-28 | Oppo广东移动通信有限公司 | 应用程序的安全控制方法、装置及移动终端、存储介质 |
CN109376505A (zh) * | 2017-08-02 | 2019-02-22 | 武汉斗鱼网络科技有限公司 | 一种andriod平台上对so文件的保护方法和装置 |
-
2020
- 2020-01-19 CN CN202010058305.3A patent/CN111310131B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148869A (zh) * | 2011-02-12 | 2011-08-10 | 惠州Tcl移动通信有限公司 | Java应用程序向本地传递信息的方法及设备 |
CN102254117A (zh) * | 2011-07-07 | 2011-11-23 | 李鹏 | 一种基于虚拟化技术的数据防泄密系统 |
CN103577237A (zh) * | 2013-11-15 | 2014-02-12 | 北京奇虎科技有限公司 | 应用程序启动的控制方法及装置 |
CN107196907A (zh) * | 2017-03-31 | 2017-09-22 | 武汉斗鱼网络科技有限公司 | 一种安卓so文件的保护方法及装置 |
CN107256349A (zh) * | 2017-06-13 | 2017-10-17 | 广州阿里巴巴文学信息技术有限公司 | 动态库防盗用方法、装置、电子设备及可读存储介质 |
CN109376505A (zh) * | 2017-08-02 | 2019-02-22 | 武汉斗鱼网络科技有限公司 | 一种andriod平台上对so文件的保护方法和装置 |
CN108416224A (zh) * | 2018-02-13 | 2018-08-17 | 北京梆梆安全科技有限公司 | 一种数据加解密方法及装置 |
CN108595942A (zh) * | 2018-04-12 | 2018-09-28 | Oppo广东移动通信有限公司 | 应用程序的安全控制方法、装置及移动终端、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111310131A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216549B2 (en) | Security verification method and device | |
US11212283B2 (en) | Method for authentication and authorization and authentication server using the same for providing user management mechanism required by multiple applications | |
CN108965250B (zh) | 一种数字证书安装方法及系统 | |
US20150302201A1 (en) | Device and method for processing transaction request in processing environment of trust zone | |
CN107403152B (zh) | 高通平台TrustZone指纹识别实现方法及系统 | |
CN110650216B (zh) | 云服务请求方法和装置 | |
CN104424028A (zh) | 终端设备以及切换方法 | |
CN107111511B (zh) | 访问控制的方法、装置和系统 | |
CN105279423A (zh) | 一种密码管理方法及装置 | |
CN107888589A (zh) | 一种调用可信应用的方法及其系统 | |
CN110677453A (zh) | 基于ZooKeeper的分布式锁服务实现方法、装置、设备及存储介质 | |
CN110990798B (zh) | 应用程序权限配置方法、装置、电子设备及存储介质 | |
CN108289080B (zh) | 一种访问文件系统的方法、装置和系统 | |
CN114861158A (zh) | 安全认证方法、装置、系统、电子设备及存储介质 | |
US20180101485A1 (en) | Method and apparatus for accessing private data in physical memory of electronic device | |
CN111310131B (zh) | so库调用处理方法、装置、电子装置及存储介质 | |
CN106778297B (zh) | 应用程序的运行方法、装置及移动终端 | |
US8707330B2 (en) | Method and system for controlled communication between applications | |
CN111914311B (zh) | 硬盘密码管理方法、装置、电子设备及存储介质 | |
CN104995635A (zh) | 图片发送方法和装置以及终端设备 | |
CN114339742A (zh) | 基于安全芯片的离线ssh登录认证方法、装置及终端 | |
EP3036674B1 (en) | Proof of possession for web browser cookie based security tokens | |
CN112417402A (zh) | 权限控制方法、权限控制装置、权限控制设备及存储介质 | |
CN116755842B (zh) | 身份验证系统部署方法、装置、设备及存储介质 | |
CN113949562B (zh) | Portal认证方法、装置、系统、电子设备及存储介质 |
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 |