最近的一个需求需要用到系统hide方法,需要安装在android 9.0 (Android P)上。
因为9.0开始,hide方法对反射方法调用做了限制,所以我用到了之前更习惯用的伪造类的方法来解决。
举例:
要用到这个类
我们需要按照同样的路径和类声明在自己的工程中新建一个类:
至于里面的方法,你需要用的你就把方法声明严格复制过来,方法的实现则不用。比如void方法完全可以留空,init方法可以直接return 0;不需要用的方法则可以直接不用要。只要能保证你的调用的地方能编译通过即可。
有同事对这个方法心存疑虑,实际执行的时候到底是执行的系统方法还是你伪造的这个方法呢?
我要肯定的告诉你,执行的是系统方法。
原因是:java类加载的双亲委托模型:
(来源于https://blog.csdn.net/itachi85/article/details/78088701)
(来源于https://www.jianshu.com/p/ba34eb96c45f)
双亲委托模型保证了一个类只会被加载一次。一个应用启动过程中系统创建了一个java虚拟机,然后BootClassLoader加载系统的类,包括java和android的类。这时候系统中的类(比如上面的android.bluetooth.BlutoothCodecConfig)已经加载完成。后面应用启动起来后,运行到调用的地方classloader发现这个类已经加载完成了,就不会再加载。所以我们伪造的这个类压根没有机会被加载。
相关推荐
调用Web服务通常包括构造请求URL、设置请求方法(GET、POST等)、添加请求头和请求体。 4. **处理响应**:接收到Web服务的响应后,需要解析数据。如果是JSON,可以使用`Gson`或`Jackson`库;如果是XML,可能使用`...
2. **JavaScriptInterface**:为了使JavaScript能够调用Android的原生方法,需要创建一个带有@JavascriptInterface注解的Java类。这个注解确保了只有在Webview中运行的JavaScript才能访问这些方法,提高了安全性。 ...
2. **JavaScript接口**:为了使H5页面能够调用Android的原生功能,我们需要在Java代码中定义JavaScript接口。这些接口会被注入到`WebView`中,H5页面可以通过`window对象`调用这些接口,实现如分享、获取设备信息等...
以上就是关于“js调用后台方法(cs文件中的方法)”的主要知识点,涵盖了前后端通信的基本原理、AJAX请求、C#后台方法以及相关的安全和错误处理。理解并掌握这些概念和技术,有助于实现高效的前后端交互。
在安卓(Android)平台上开发应用时,调用Web Service是一项常见的任务,这通常涉及到与远程服务器进行数据交互,实现功能如登录验证、数据同步等。本压缩包中的源码提供了如何在Android应用中调用Web Service的具体...
开发者可以定义一个或多个接口,当特定的类或方法被调用时,这些接口会被触发,从而实现对原方法的拦截。 Function Hook则更偏向于Native层,比如C/C++的函数调用。在Android的NDK开发中,我们可以利用libffi、...
例如,开发者可以使用这种方法来测试移动设备应用程序的行为,并模拟不同位置信息,以确保应用程序的正确性和可靠性。 使用 Google Chrome 浏览器模拟手机浏览器并伪造位置信息是一种非常有用的方法,可以用于测试...
通过学习和实践这些ASP.NET调用的方法,你将能够构建出高效、可维护且用户体验优秀的Web应用程序。无论是在企业级项目还是个人项目中,这些知识都将发挥重要作用。不断探索和学习,你将成为一名出色的ASP.NET开发者...
在Android开发过程中,有时我们需要利用各种工具类来提高代码的可重用性和效率。"Android-CakeUtility"项目就是这样一个工具集,它借鉴了CakePHP框架中的实用工具类,为Android开发者提供了方便的功能。让我们详细...
"iframe父页面与子页面通信及相互调用方法"是一个重要的主题,涉及到跨域安全、DOM操作以及JavaScript/jQuery的交互技术。下面将详细解释这一知识点。 1. **基本概念** - **父页面(Parent Page)**:包含`iframe`...
跨域调用虽然方便,但也增加了安全风险,比如XSS(跨站脚本攻击)和CSRF(跨站请求伪造)。因此,开发者在使用跨域调用时应谨慎处理数据,确保只从可信的源获取信息,并采取适当的防护措施。同时,跨域请求可能增加...
浅谈 ASP.NET MVC 防止跨站请求伪造(CSRF)攻击的...本文档对 ASP.NET MVC 中防止跨站请求伪造(CSRF)攻击的实现方法进行了详细的探讨,并提供了一个示例来演示 CSRF 攻击的原理和危害,以及防止 CSRF 攻击的方法。
在代码实现中,使用了 C/C++ 语言,并使用了随机数生成器来生成伪造硬币的位置。然后,使用分治法的思想来解决问题,最后输出伪造硬币的位置。 找零钱问题 找零钱问题是指一个小孩买了价值为 33 美分的糖,并将 1 ...
### PHP 伪造IP和...通过上述介绍可以看出,PHP提供了多种方法来伪造IP地址和HTTP_REFERER。这些技术在数据抓取、测试环境等场景中有一定的实用价值,但在实际应用中也需要注意遵守相关法律法规和技术规范。
针对一种常见的图像篡改——复制粘贴伪造,提出了一个能自动检测并标识数字图像中复制区域的方法。将图像分成多个重叠块,每块的特征用由模糊不变矩计算得到的模糊不变量表示,按照预定的相似标准来确定图像篡改区域...
3. 应用签名与证书:了解Android应用的签名机制,以及如何伪造签名进行恶意攻击。 五、隐私保护与安全实践 1. 数据加密:介绍AES、RSA等加密算法在Android上的应用,如何保护用户数据的安全。 2. 安全网络通信:...
在这个例子中,当用户点击“调用”按钮时,`Button_Click`事件处理器将初始化Web服务客户端并异步调用`HelloWorld`方法。一旦调用完成,`service_HelloWorldCompleted`事件处理程序会被触发,将返回的结果显示在...
在Android 4.2之前,开发者通常使用`WebView.addJavascriptInterface()`方法来创建一个Java对象,并将其暴露给JavaScript。这个对象上的所有公共方法都可以在JavaScript中调用。但是,这种方法存在安全风险,因为...
在本篇文章中,涉及的知识点包括深度伪造技术的背景、原理、检测方法以及未来的研究方向和挑战。以下是对这些知识点的详细解释: 1. 深度伪造技术背景 文章指出深度伪造技术是在人工智能尤其是深度学习技术快速发展...
本文将深入探讨Android中的Cookie,包括其原理、用途、管理以及在实际开发中的应用。 一、Cookie基本概念 Cookie是由服务器发送到用户浏览器并存储在本地的小型文本文件,其中包含了识别用户会话的信息。在Android...