系统隐藏方法的调用方法、装置和计算设备制造方法及图纸

技术编号:19139433 阅读:27 留言:0更新日期:2018-10-13 08:34
本发明专利技术提供一种系统隐藏方法的调用方法、装置和计算设备,涉及计算机软件开发技术领域,该方法包括:将目标系统隐藏方法对应的类的类加载器设置为启动类加载器;基于设置后的类,调用所述目标系统隐藏方法。本发明专利技术通过设置类加载器的类型,能够让系统将开发人员对目标系统隐藏方法的调用识别为是系统允许的,使得开发人员可以方便地使用各种隐藏API的功能,以实现更多的应用效果。且上述系统隐藏方法的调用方法适配性与稳定性较高,能满足绝大多数场景的应用。

Method, device and computing device for calling system concealment method

The invention provides a calling method, a device and a computing device of a system hiding method, which relates to the technical field of computer software development. The method comprises setting the class loader of the corresponding class of the target system hiding method as a startup class loader, and calling the target system hiding method based on the set class. By setting the type of class loader, the system can identify the calls of hidden methods by developers to the target system as allowed by the system, so that developers can conveniently use the functions of various hidden APIs to achieve more application effects. Moreover, the above system hidden methods have high adaptability and stability, and can satisfy the application of most scenarios.

【技术实现步骤摘要】
系统隐藏方法的调用方法、装置和计算设备
本专利技术涉及计算机软件开发
,具体而言,本专利技术涉及一种系统隐藏方法的调用方法、装置和计算设备。
技术介绍
AndroidAPI(ApplicationProgrammingInterface,应用程序编程接口)是官方提供给Android开发人员的预先定义的方法接口,目的是提供开发人员得以访问一些函数方法的能力。调用AndroidAPI,无需访问源码,也无需理解内部工作机制的细节,就可以实现许多功能。事实上,Android为开发人员提供的API中,包括一些隐藏的API,例如加上@hide标记的类、方法等,在技术上它们并不是系统提供的软件开发工具包的一部分,使得开发人员无法正常访问隐藏的API,尝试在Android系统上使用这些API的应用程序也将无法正常工作。不过,有时为了实现Android应用程序某些特殊的功能或者效果,隐藏的API往往能发挥意想不到的作用。随着Android系统的广泛应用,用户对Android平台的应用程序在功能上的需求也日益旺盛。这种情况下,开发人员会希望使用这些隐藏的方法、功能来实现一些更高级的效果和功能。
技术实现思路
本专利技术的目的旨在至少能解决上述的技术缺陷之一,特别是无法正常调用系统隐藏方法的技术缺陷。本专利技术提供了一种系统隐藏方法的调用方法,包括如下步骤:将目标系统隐藏方法对应的类的类加载器设置为启动类加载器;基于设置后的类,调用所述目标系统隐藏方法。可选地,所述将目标系统隐藏方法对应的类的类加载器设置为启动类加载器,包括:将所述目标系统隐藏方法对应的类的参数类型进行转换处理;根据转换处理的参数类型,将所述目标系统隐藏方法对应的类的类加载器设置为启动类加载器。可选地,所述将目标系统隐藏方法对应的类的类加载器设置为启动类加载器,包括:通过Toclass函数将所述目标系统隐藏方法对应的类的参数类型进行转换处理;根据转换处理的参数类型,通过SetClassLoader函数将所述目标系统隐藏方法对应的类的类加载器设置为启动类加载器。可选地,所述将目标系统隐藏方法对应的类的类加载器设置为启动类加载器之前,还包括:根据Toclass函数的导出符号确定Toclass函数在进程中的地址;根据SetClassLoader函数的导出符号确定SetClassLoader函数在进程中的地址;所述将目标系统隐藏方法对应的类的类加载器设置为启动类加载器,包括:根据确定出的Toclass函数在进程中的地址,调用Toclass函数将所述目标系统隐藏方法对应的类的参数类型进行转换处理;根据确定出的SetClassLoader函数在进程中的地址,调用SetClassLoader函数将所述目标系统隐藏方法对应的类的类加载器设置为启动类加载器。可选地,所述目标系统隐藏方法对应的类包括用于反射处理的辅助工具类;所述调用所述目标系统隐藏方法,包括:通过所述辅助工具类获取所述目标系统隐藏方法,并进行调用。可选地,所述调用所述目标系统隐藏方法,包括以下任一情形:通过所述辅助工具类,基于反射方式获取所述目标系统隐藏方法;通过所述辅助工具类,基于本地交互方式获取所述目标系统隐藏方法。本专利技术还提供了一种系统隐藏方法的调用装置,包括:设置模块,用于将目标系统隐藏方法对应的类的类加载器设置为启动类加载器;调用模块,用于基于设置后的类,调用所述目标系统隐藏方法。可选地,所述设置模块具体用于将所述目标系统隐藏方法对应的类的参数类型进行转换处理;以及,所述设置模块具体用于根据转换处理的参数类型,将所述目标系统隐藏方法对应的类的类加载器设置为启动类加载器。可选地,所述设置模块具体用于通过Toclass函数将所述目标系统隐藏方法对应的类的参数类型进行转换处理;以及,所述设置模块具体用于根据转换处理的参数类型,通过SetClassLoader函数将所述目标系统隐藏方法对应的类的类加载器设置为启动类加载器。可选地,所述设置模块还具体用于根据Toclass函数的导出符号确定Toclass函数在进程中的地址;以及,所述设置模块还具体用于根据SetClassLoader函数的导出符号确定SetClassLoader函数在进程中的地址;以及,所述设置模块具体用于根据确定出的Toclass函数在进程中的地址,调用Toclass函数将所述目标系统隐藏方法对应的类的参数类型进行转换处理;以及,所述设置模块具体用于根据确定出的SetClassLoader函数在进程中的地址,调用SetClassLoader函数将所述目标系统隐藏方法对应的类的类加载器设置为启动类加载器。可选地,所述目标系统隐藏方法对应的类包括用于反射处理的辅助工具类;所述调用模块具体用于通过所述辅助工具类获取所述目标系统隐藏方法,并进行调用。可选地,所述调用模块具体用于以下任一情形:通过所述辅助工具类,基于反射方式获取所述目标系统隐藏方法;通过所述辅助工具类,基于本地交互方式获取所述目标系统隐藏方法。本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的方法。本专利技术还提供了一种计算设备,包括:处理器;以及存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时,使得所述处理器执行上述任一项所述的方法。本专利技术提供的系统隐藏方法的调用方法、装置和计算设备,通过设置类加载器的类型,能够让系统将开发人员对目标系统隐藏方法的调用识别为是系统允许的,使得开发人员可以方便地使用各种隐藏API的功能,以实现更多的应用效果。且上述系统隐藏方法的调用方法适配性与稳定性较高,能满足绝大多数场景的应用。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术实施例提供的系统隐藏方法的调用方法的流程示意图;图2为本专利技术实施例提供的系统隐藏方法的调用装置的框架示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本专利技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。下面结合附图具体介绍本专利技术实施例的技术方案。本专利技术实施例适用于安卓系统中调用系统隐藏API,尤其适用于针对AndroidP系统,调用系统中的隐藏API。其中,An本文档来自技高网
...

【技术保护点】
1.一种系统隐藏方法的调用方法,其特征在于,包括如下步骤:将目标系统隐藏方法对应的类的类加载器设置为启动类加载器;基于设置后的类,调用所述目标系统隐藏方法。

【技术特征摘要】
1.一种系统隐藏方法的调用方法,其特征在于,包括如下步骤:将目标系统隐藏方法对应的类的类加载器设置为启动类加载器;基于设置后的类,调用所述目标系统隐藏方法。2.根据权利要求1所述的系统隐藏方法的调用方法,其特征在于,所述将目标系统隐藏方法对应的类的类加载器设置为启动类加载器,包括:将所述目标系统隐藏方法对应的类的参数类型进行转换处理;根据转换处理的参数类型,将所述目标系统隐藏方法对应的类的类加载器设置为启动类加载器。3.根据权利要求2所述的系统隐藏方法的调用方法,其特征在于,所述将目标系统隐藏方法对应的类的类加载器设置为启动类加载器,包括:通过Toclass函数将所述目标系统隐藏方法对应的类的参数类型进行转换处理;根据转换处理的参数类型,通过SetClassLoader函数将所述目标系统隐藏方法对应的类的类加载器设置为启动类加载器。4.根据权利要求3所述的系统隐藏方法的调用方法,其特征在于,所述将目标系统隐藏方法对应的类的类加载器设置为启动类加载器之前,还包括:根据Toclass函数的导出符号确定Toclass函数在进程中的地址;根据SetClassLoader函数的导出符号确定SetClassLoader函数在进程中的地址;所述将目标系统隐藏方法对应的类的类加载器设置为启动类加载器,包括:根据确定出的Toclass函数在进程中的地址,调用Toclass函数将所述目标系统隐藏方法对应的类的参数类型进行转换处理;根据确定出的SetClassLo...

【专利技术属性】
技术研发人员:刘洪凯王浩
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1