CN115730299A - 控制移动应用sdk库使用系统敏感权限的方法及存储介质 - Google Patents
控制移动应用sdk库使用系统敏感权限的方法及存储介质 Download PDFInfo
- Publication number
- CN115730299A CN115730299A CN202211366354.9A CN202211366354A CN115730299A CN 115730299 A CN115730299 A CN 115730299A CN 202211366354 A CN202211366354 A CN 202211366354A CN 115730299 A CN115730299 A CN 115730299A
- Authority
- CN
- China
- Prior art keywords
- sdk library
- sensitive
- party sdk
- interface
- authority
- 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.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种控制移动应用SDK库使用系统敏感权限的方法及存储介质,属于SDK库权限处理技术领域。所述方法包括:将第三方SDK库代码加载至隔离进程中执行,所述隔离进程不具有访问系统敏感权限;宿主进程调用隔离进程中的第三方SDK库接口并接收第三方SDK库提出的系统敏感权限访问请求;宿主进程基于敏感权限策略判断第三方SDK库提出的系统敏感权限访问请求是否允许被执行;在允许执行的情况下,宿主进程调用系统框架层接口执行相应访问操作。本方法不仅可以满足系统敏感权限控制的功能要求,而且引入的性能损耗较小,能够兼容市场上绝大部分Android手机系统,具备良好的兼容性。
Description
技术领域
本发明涉及SDK库权限处理技术领域,具体地涉及一种控制移动应用SDK库使用系统敏感权限的方法及一种计算机可读存储介质。
背景技术
近年来,第三方SDK库凭借着便利及免费的特点,在移动应用开发中得到越来越广泛的使用,为了缩短开发周期,降低开发成本,移动应用开发者通常会集成一个或多个第三方SDK库到其应用之中,以增强应用的功能。
在Android平台上,第三方SDK库所涉及的代码主要包括Java字节码和native代码两类,Java字节码文件(.class)是由Java编译器编译Java源文件(.java)生成的二进制流文件,多个class文件可以被进一步打包为jar文件,native代码大多是由C/C++代码开发编译而来的,是以.so文件形式存在,so文件属于ELF文件格式,一种用于可执行文件和动态库文件的标准二进制数据封装格式。
然而,由于第三方SDK库内嵌于应用程序之中,在应用运行期间其将与宿主应用共享进程的运行环境和隐私权限,而作为当前主流的移动应用平台,Android系统现有的权限机制是以进程为单位实现的,并不能有效区分敏感操作是来自于宿主应用本身还是来自于第三方SDK库,从而无法对第三方SDK库的敏感行为进行权限控制,导致部分恶意的第三方SDK库有可能盗用宿主应用的权限,以宿主应用的名义越权执行敏感操作,侵犯用户个人隐私,给用户带来安全和隐私泄露的风险。
发明内容
本发明实施方式的目的是提供一种控制移动应用SDK库使用系统敏感权限的方法和一种计算机可读存储介质,以至少解决现有技术中第三方SDK库可能盗用宿主应用权限,越权执行敏感操作,侵犯用户个人隐私等问题。
为了实现上述目的,本发明第一方面提供一种控制移动应用SDK库使用系统敏感权限的方法,包括:
将第三方SDK库代码加载至隔离进程中执行,所述隔离进程不具有访问系统敏感权限;
基于第三方SDK库提出的系统敏感权限访问请求,宿主进程代替隔离进程进行访问操作。
本方法中,宿主进程代替隔离进程进行访问操作,实现了第三方SDK库在隔离进程中对系统敏感权限访问操作,同时,由于隔离进程不具有系统访问权限,无法执行任何权限相关的操作,给第三方SDK库提供了可信任的执行环境。
可选的,所述宿主进程代替隔离进程进行访问操作,包括:
宿主进程调用隔离进程中的第三方SDK库接口并接收第三方SDK库提出的访问请求;
宿主进程基于敏感权限策略判断第三方SDK库提出的访问请求是否允许被执行;
在允许执行的情况下,宿主进程调用系统框架层接口执行相应访问操作。
可选的,所述宿主进程调用隔离进程中的第三方SDK库接口,包括:
将要调用的第三方SDK库接口改为自定义代理函数接口,依据要调用的第三方SDK库接口定义代理函数接口,在代理函数接口的实现代码中采用binder远程过程调用通信机制,将代理函数接口定向到隔离进程中的第三方SDK库的实际对应函数接口。
可选的,所述宿主进程代替隔离进程进行访问操作,还包括:
隔离进程拦截第三方SDK库提出的系统敏感权限访问请求,并调用第三方SDK库接口将第三方SDK库提出的访问请求发送至宿主进程。
可选的,所述隔离进程拦截第三方SDK库提出的访问请求,并将第三方SDK库提出的访问请求发送至宿主进程,包括:
对系统服务敏感权限接口进行挂钩处理、对JNIEnv工具函数进行挂钩处理、以及对外部函数进行挂钩代理,以拦截第三方SDK库提出的访问请求;
采用binder远程过程调用通信机制进行函数接口调用处理,以调用第三方SDK接口将第三方SDK库提出的访问请求发送至宿主进程。
可选的,所述第三方SDK库提出的访问请求,包括:
第三方SDK库中java代码访问系统敏感权限接口请求;
第三方SDK库中native代码访问系统java层敏感权限接口请求;
第三方SDK库中native代码访问系统敏感权限接口请求。
可选的,所述对系统服务敏感权限接口进行挂钩处理用于拦截第三方SDK库中java代码访问系统接口请求;
所述对JNIEnv工具函数进行挂钩处理用于拦截第三方SDK库中native代码访问系统java层接口请求;
所述对外部函数进行挂钩处理用于拦截第三方SDK库中native代码访问系统接口请求。
可选的,所述宿主进程基于敏感权限策略判断第三方SDK库提出的访问请求是否允许被执行,包括:
宿主进程接收到SDK库提出的访问请求后,基于自定义的敏感权限控制策略决定访问请求是否允许被执行,如果允许执行,则宿主进程进行访问操作并将结果同步到隔离进程,否则,则禁止访问并伪造返回结果到隔离进程中。
可选的,还包括,创建隔离进程,包括:
在集成第三方SDK库文件的移动应用清单文件中添加service标签,并对其相关属性进行设置,创建隔离进程。
本发明第二方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机指令,所述计算机指令在计算机上执行时,使得所述计算机执行第一方面所述的方法。
本发明的有益效果如下:
本发明提出的方法位于应用层,不需要对底层系统进行任何修改,也不需要系统root权限,与现有的方案相比,不仅能够对第三方SDK库中java代码的敏感操作进行权限控制,而且能够很好的控制和隔离第三方SDK库中native代码的敏感操作,也可以控制动态加载和热更新库文件的敏感操作,能够很好的对第三方SDK库使用系统敏感权限进行更加全面的约束和控制。
同时,本发明结合大量真实第三方SDK库,从功能、性能以及兼容性三个角度进行测试,不仅可以满足敏感权限控制的功能要求,而且引入的性能损耗较小,能够兼容市场上绝大部分Android手机系统,具备良好的兼容性。
本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:
图1是本发明一种实施方式提供的移动应用集成第三方SDK库后的调用关系示意图;
图2是现有技术中移动应用集成第三方SDK库后的调用关系示意图;
图3是第三方SDK库java代码的主要敏感操作示意图;
图4是第三方SDK库native代码的主要敏感操作示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
在Android移动应用平台,现有的第三方SDK库敏感权限管控的解决方案,主要分为系统层和应用层两种类型。
系统层的解决方案,主要是通过修改Android系统,对Android架构层API或者权限控制系统进行优化增强,来实现第三方SDK库的安全防护,这类系统层解决方案的劣势在于,系统层面的修改通常需要使用者更新系统ROM,甚至需要系统ROOT权限,具备很强的专业性,很难进行推广和应用。
应用层的解决方案,主要通过对应用进程中的权限相关服务进行代码动态注入,实现宿主应用和第三方SDK库的权限操作区分,采用拦截虚机内部指令或系线调用API接口的方式,对第三方SDK库中敏感权限API进行动态控制;也可以采用静态代码改写技术对第三方SDK库进行修改,替换代码中的敏感权限API调用并添加权限控制,实现对第三方SDK库的敏感行为控制,当前应用层解决方案的主要缺陷在于,只适用于第三方库中java代码的敏感权限控制,并不适用于native代码,也无法满足越来越多的库文件动态加载热更新技术方式。
对于以上存在的问题,本发明实施方式提供一种控制移动应用SDK使用系统敏感权限的方法,本方法先通过将第三方SDK库代码加载到一个独立的没有任何访问权限的隔离进程中执行,使第三方SDK库与宿主进程分隔开;然后将隔离进程所有的权限操作通过远程过程调用代理的方式定向到宿主进程之中,请求宿主进程代替其完成访问操作。
本方法具体包括:
S1:利用Andoid系统的isolated process(隔离进程)安全特性,把第三方SDK库代码(包括java代码和native代码)加载到隔离进程执行,隔离进程没有任何系统访问权限。
采用此种方式使第三方SDK库与宿主进程隔离开来,实现第三方SDK代码与宿主应用进程之间的内存隔离。同时,由于隔离进程不具备任何系统访问权限,因此无法执行任何权限相关操作,而且无法与绑定进程除外的任何外部进程进行通信,因此是可信任的执行环境,隔离进程仅提供必要的运行环境以满足函数的正常执行,使其无法滥用宿主应用的访问权限。
S2:宿主进程调用隔离进程中的第三方SDK库接口,并接收第三方SDK库提出的访问请求。
在本实施例中,采用库接口原型代理的方式实现第三方SDK库接口的调用,具体过程如下:
将要调用的第三方SDK库接口改为自定义代理函数接口,并依据要调用的第三方SDK库接口定义代理函数接口,在代理函数接口的实现代码中采用binder远程过程调用通信机制,将代理函数接口定向到隔离进程中的第三方SDK库的实际对应函数接口。
S3:对于第三方SDK库提出的访问请求,宿主进程先对其进行判断,以确定相应的访问操作是否允许被执行,在允许执行的情况下,宿主进程调用系统接口执行相应访问操作并将结果同步到隔离进程中。
由于隔离进程不具有系统访问权限,所以不能进行访问操作,对于第三方SDK库提出访问系统敏感权限的访问请求,为了保证第三方SDK库能够正常访问,所以将所有的访问操作由宿主进程代替隔离进程执行。
在本实施例中,宿主进程采用库接口执行代理的方式对访问请求的进行判断,具体过程如下:
宿主进程接收到第三方SDK库提出的访问请求后,通过自定义敏感控制策略决定访问请求对应的访问操作是否允许被执行,如果允许执行,则由宿主进程执行相应访问操作并将结果同步到隔离进程中;否则禁止执行并伪造返回结果到隔离进程中。
上述过程对第三方SDK库访问系统敏感权限等操作进行了细粒度控制,防止第三方SDK库超范围滥用宿主应用的权限,保护应用程序的安全合规运行。
在一些可行的实施例中,本方法还包括:创建隔离进程。
具体的创建过程如下:
Service组件是Android系统的四大组件之一,常用于执行后台且不需用户界面的任务。通过设置process属性为冒号开头或者以小写字符开头的任意字符,Android系线会创建独立进程来运行该Service服务,与之类似但更严格的是,通过设置isolatedProcess属性为true,Android系统会将此Service服务置于一个特殊的隔离进程之中,隔离进程只具备基本的运行条件,没有任何隐私数据访问权限,更加严格的是此隔离进程和系统的其余部分是完全隔绝的,只能通过预先设置的Service API与其进行通信。开发者拿到第三方SDK库文件后,需要在其集成应用清单文件(AndroidManifest.xml)中添加service标签,并对其相关属性进行设置,如process和isolatedProcess,完成隔离进程的创建,然后,通过集成库接口钩子代理的代码,完成隔离进程的绑定。
在一些可行的实施例中,对于第三方SDK库提出的访问请求,隔离进程先采用库接口钩子代理的方式对其进行拦截,而后将访问请求发送至宿主进程。
具体过程如下:
针对系统服务敏感权限接口、JNIEnv工具函数和外部函数进行挂钩代理,以拦截第三方SDK库提出的访问请求;
采用binder远程过程调用通信机制进行函数接口调用处理,将拦截的第三方SDK库提出的访问请求发送至宿主进程。
其中,系统服务敏感权限接口挂钩处理主要用于拦截第三方SDK库中java代码访问系统敏感权限接口的请求。
当第三方SDK库java代码访问系统敏感权限接口时,接口被重新定向到宿主进程中,宿主进程根据对应的敏感控制策略对请求进行判断处理,如果满足则调用系统框架接口执行访问操作并将结果返回,否则拒绝执行。
系统服务敏感权限接口挂钩处理的具体过程如下:
采用ServiceManager找到需要挂钩的敏感服务实例,再通过反射获取该服务的远程binder对象,之后通过创建的动态代理对象替换binder对象,从而完成系统服务敏感权限接口的挂钩处理。
JNIEnv工具函数挂钩处理主要用于拦截第三方SDK库中native代码访问系统java层敏感权限接口的请求。
JNIEnv是一个指向JNINativeInterface的结构体指针,其内包含许多可供native代码使用的工具函数指针,借助JNIEnv结构体中的工具函数,native代码可以实现所有的java代码操作,包括修改类字段、调用方法和构造对象等。本方法通过JNIEnv工具函数挂钩处理技术实现native代码访问java层敏感行为的控制,使用代理函数对JNIEnv结构体中的工具函数指针进行替换,对函数参数进行解析来过滤并拦截其中的敏感行为。
例如,通过比较函数callObjectMethodV中的jmethodID参数,可以识别并拦截native代码所调用的系统敏感权限API方法。而为了执行该敏感权限API调用,隔离进程将其通过远程过程调用转向宿主进程中库接口执行代理,宿主进程会根据敏感权限API对应的权限策略对请求进行处理,如果满足权限设置要求则调用系统框架接口并将结果返回,否则会拒绝执行。
外部函数挂钩处理主要用于拦截第三方SDK库中native代码访问系统敏感权限接口的请求。
第三方SDK库native代码so文件属于ELF文件格式,以section为单位进行划分,有GOT和PLT跳转表。GOT主要用于记录外部调用的入口地址,当动态链接器执行重定位操作时,GOT中会被填入外部函数的绝对对址。PLT则是外部调用的跳板,主要用于外部函数的重定位,外部函数的动态链接需要进行多次重定位跳转,属于松耦合结构。因此可以使用代理函数对原外部函数进行替换,实现对外部函数调用行为的控制。通过控制native代码对外部函数的调用,系统可以将隔离进程中未能正常执行的函数重定向到宿主进程中的库接口执行代理,宿主进程在接收到请求后,会根据敏感权限API对应的权限策略对请求进行处理,以决定是否执行该敏感访问操作。
正常情况,Android系统平台,移动应用集成第三方SDK库文件之后的代码及调用关系,如图2所示。第三方SDK库中的java代码和宿主应用java代码被整体编译到dex文件中,第三方SDK库中的native代码so文件和宿主应用native代码so文件被统一放到了应用程序的lib目录。第三方SDK库中的java代码和native代码,都可以直接自由调用系统框架提供的敏感权限API接口。
Android系统对隐私权限进行了详细划分,常见的第三方SDK库java代码的主要敏感操作如图3所示。
Android系统中native代码调用java代码,通过JNIEnv结构和相关接口实现。第三方SDK库native代码,除了调用java代码访问系统框架敏感API之外,还有文件读写和内存访问等敏感操作,常见的第三方SDK库native代码的主要敏感操作如图4所示。
本发明实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机指令,所述计算机指令在计算机上执行时,使得所述计算机执行本实施方式提供的一种控制移动应用SDK使用系统敏感权限的方法。
本领域技术人员可以理解实现上述实施方式的方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合附图详细描述了本发明的可选实施方式,但是,本发明实施方式并不限于上述实施方式中的具体细节,在本发明实施方式的技术构思范围内,可以对本发明实施方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。
Claims (10)
1.一种控制移动应用SDK库使用系统敏感权限的方法,其特征在于,包括:
将第三方SDK库代码加载至隔离进程中执行,所述隔离进程不具有访问系统敏感权限;
基于第三方SDK库提出的系统敏感权限访问请求,宿主进程代替隔离进程进行访问操作。
2.根据权利要求1所述的控制移动应用SDK库使用系统敏感权限的方法,其特征在于,所述宿主进程代替隔离进程进行访问操作,包括:
宿主进程调用隔离进程中的第三方SDK库接口并接收第三方SDK库提出的系统敏感权限访问请求;
宿主进程基于敏感权限策略判断第三方SDK库提出的系统敏感权限访问请求是否允许被执行;
在允许执行的情况下,宿主进程调用系统框架层接口执行相应访问操作。
3.根据权利要求2所述的控制移动应用SDK库使用系统敏感权限的方法,其特征在于,所述宿主进程调用隔离进程中的第三方SDK库接口,包括:
将要调用的第三方SDK库接口改为自定义代理函数接口,依据要调用的第三方SDK库接口定义代理函数接口,在代理函数接口的实现代码中采用binder远程过程调用通信机制,将代理函数接口定向到隔离进程中的第三方SDK库的实际对应函数接口。
4.根据权利要求2所述的控制移动应用SDK库使用系统敏感权限的方法,其特征在于,所述宿主进程代替隔离进程进行访问操作,还包括:
隔离进程拦截第三方SDK库提出的系统敏感权限访问请求,并将第三方SDK库提出的系统敏感权限访问请求发送至宿主进程。
5.根据权利要求4所述的控制移动应用SDK库使用系统敏感权限的方法,其特征在于,所述隔离进程拦截第三方SDK库提出的系统敏感权限访问请求,并将第三方SDK库提出的系统敏感权限访问请求发送至宿主进程,包括:
对系统服务敏感权限接口进行挂钩处理、对JNIEnv工具函数进行挂钩处理、以及对外部函数进行挂钩代理,以拦截第三方SDK库提出的系统敏感权限访问请求;
采用binder远程过程调用通信机制进行函数接口调用处理,以调用第三方SDK接口将第三方SDK库提出的访问请求发送至宿主进程。
6.根据权利要求5所述的控制移动应用SDK库使用系统敏感权限的方法,其特征在于,所述第三方SDK库提出的系统敏感权限访问请求,包括:
第三方SDK库中java代码访问系统敏感权限接口请求;
第三方SDK库中native代码访问系统java层敏感权限接口请求;
第三方SDK库中native代码访问系统敏感权限接口请求。
7.根据权利要求6所述的控制移动应用SDK库使用系统敏感权限的方法,其特征在于,所述对系统服务敏感权限接口进行挂钩处理用于拦截第三方SDK库中java代码访问系统敏感权限接口请求;
所述对JNIEnv工具函数进行挂钩处理用于拦截第三方SDK库中native代码访问系统java层敏感权限接口请求;
所述对外部函数进行挂钩处理用于拦截第三方SDK库中native代码访问系统敏感权限接口请求。
8.根据权利要求2所述的控制移动应用SDK库使用系统敏感权限的方法,其特征在于,所述宿主进程基于敏感权限策略判断第三方SDK库提出的系统敏感权限访问请求是否允许被执行,包括:
宿主进程接收到SDK库提出的访问请求后,基于自定义的敏感权限控制策略决定访问请求是否允许被执行,如果允许执行,则宿主进程进行访问操作并将结果同步到隔离进程,否则,则禁止访问并伪造返回结果到隔离进程中。
9.根据权利要求1所述的控制移动应用SDK库使用系统敏感权限的方法,其特征在于,还包括,创建隔离进程,包括:
在集成第三方SDK库文件的移动应用清单文件中添加service标签,并对其相关属性进行设置,创建隔离进程。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令在计算机上执行时,使得所述计算机执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366354.9A CN115730299A (zh) | 2022-11-01 | 2022-11-01 | 控制移动应用sdk库使用系统敏感权限的方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366354.9A CN115730299A (zh) | 2022-11-01 | 2022-11-01 | 控制移动应用sdk库使用系统敏感权限的方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115730299A true CN115730299A (zh) | 2023-03-03 |
Family
ID=85294390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211366354.9A Pending CN115730299A (zh) | 2022-11-01 | 2022-11-01 | 控制移动应用sdk库使用系统敏感权限的方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115730299A (zh) |
-
2022
- 2022-11-01 CN CN202211366354.9A patent/CN115730299A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3123311B1 (en) | Malicious code protection for computer systems based on process modification | |
CN102799817B (zh) | 用于使用虚拟化技术进行恶意软件保护的系统和方法 | |
EP1596298B1 (en) | A method and system for enforcing a security policy via a security virtual machine | |
KR101456489B1 (ko) | CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치 | |
US8955142B2 (en) | Secure execution of unsecured apps on a device | |
US11171983B2 (en) | Techniques to provide function-level isolation with capability-based security | |
US9069656B2 (en) | Obfuscating function resources while reducing stack consumption | |
JP2005500608A (ja) | コンピュータ装置上の記憶領域へのアプリケーションレベルのアクセス特権 | |
CN101965553A (zh) | 虚拟应用程序系统、存储设备、虚拟应用程序的运行方法及虚拟环境的保护方法 | |
JPWO2007074565A1 (ja) | プログラム実行制御方法および装置ならびに実行制御プログラム | |
CN111400757B (zh) | 防止安卓第三方库中native代码泄露用户隐私的方法 | |
EP1368718B1 (en) | Software-defined communications system execution control | |
US7647629B2 (en) | Hosted code runtime protection | |
US7444624B2 (en) | Method for the secure interpretation of programs in electronic devices | |
US20050172133A1 (en) | Cross assembly call interception | |
CN109255235A (zh) | 基于用户态沙箱的移动应用第三方库隔离方法 | |
US8429623B2 (en) | Processing engine for enabling a set of code intended for a first platform to be executed on a second platform | |
CN110352411B (zh) | 用于控制对安全计算资源的访问的方法和装置 | |
US11847222B2 (en) | System and method for preventing unwanted bundled software installation | |
CN115730299A (zh) | 控制移动应用sdk库使用系统敏感权限的方法及存储介质 | |
KR101731920B1 (ko) | 이동 단말기 및 그것의 제어방법 | |
CN115495343A (zh) | 一种安全维护方法、装置、存储介质及电子设备 | |
WO2023173915A1 (zh) | 资源控制方法及装置 | |
CN117272287B (zh) | 一种应用程序数据重定向方法及系统、存储介质 | |
JP4638505B2 (ja) | 電子デバイス内の安全なプログラム解釈方法 |
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 |