Módulo de eliminación de anuncios de exposición inversa de Android
1. Antecedentes
Cuando entré en contacto por primera vez con el marco Xposed, también leí En el blog de esta plataforma encontré un artículo sobre el uso del marco Xposed para secuestrar la interfaz de inicio de sesión. El enlace es el siguiente: Tecnología Xposed Hook en análisis inverso de Android. Para la construcción del entorno Xposed, también puede consultar el enlace de arriba, por lo que no entraré en detalles aquí.
Debido a que utiliza el método findAndHook de XposedHelpers.jar, es más problemático pasar la lista de parámetros de la función a Hook. Usando el HookMethod de XposedBridge.jar, este método solo necesita pasar la instancia de la función que se va a vincular y luego implementar la interfaz de devolución de llamada XC_MethodHook para vincular cualquier API.
Volviendo al tema, para obtener una instancia de una función, puedes utilizar el mecanismo de reflexión de Java. Para la API del sistema Android, se puede obtener fácilmente una instancia de una función mediante la reflexión. Sin embargo, para la API de biblioteca de terceros mencionada en este artículo, la reflexión para obtener la instancia de API de biblioteca de terceros no será válida durante la aplicación cruzada. Debe encontrar otra forma de obtener la instancia de API de biblioteca de terceros. Esto se explicará en detalle a continuación, tomando como ejemplo la API de publicidad.
Dos. Descripción de categoría/API
Interfaz IXposedHookLoadPackage
Descripción del método
handleLoadPackage(XC_LoadPackage.LoadPackageParam LoadPackageParam)
Este método se utiliza Realizar acciones de usuario mientras se cargan los paquetes de la aplicación.
El parámetro loadPackageParam contiene información básica sobre la aplicación cargada. Puede utilizar este parámetro para obtener el objeto de clase de la clase donde se encuentra la API para obtener la instancia de la API.
Clase XposedBridge
Descripción del método
hookMethod (miembro hookMethod, devolución de llamada de gancho XC_method)
1. Parámetro: miembro hookMethod es la API. instancia a enganchar, es decir, el objeto del método.
2. Interfaz de devolución de llamada: implemente la interfaz de enlace XC_method y reescriba los métodos de procesamiento beforeHookedMethod y afterHookedMethod antes y después de que se ejecute la API de enlace (por ejemplo, ver a continuación).
XposedBridge proporciona muchas API para ayudar a los desarrolladores a conectar funciones, como:
Tres. Escriba una API de publicidad de gancho para el módulo de exposición x
Enganche la API de la plataforma Google AdMob para limitar la visualización de anuncios. Primero necesitamos conocer la API utilizada para mostrar anuncios en la plataforma AdMob. Si consulta la Guía de acceso a anuncios de AdMob y toma los anuncios publicitarios como ejemplo, la API utilizada para mostrar anuncios pertenece a la clase loadAd() de com. Google.android.gms.ads.adview. Enganche esta API y deshabilite su ejecución. La implementación específica es la siguiente.
Escribir módulos expuestos
4. Efectos de operación
1. Visualización logarítmica
Cuando el comunicador está empaquetado. Gran juego de mates. Se cargó la transmisión, se obtuvo una instancia de la API loadAd y se restringió su funcionamiento.
Resumen del verbo (abreviatura del verbo)
De hecho, Xposed proporciona a los desarrolladores una API enriquecida para enganchar la función de destino. Debido a que este artículo está dedicado a vincular funciones de bibliotecas de terceros, solo se mencionan algunas API relacionadas.
Al obtener una clase de biblioteca de terceros, se debe utilizar el parámetro loadPackageParam, por lo que se debe implementar la interfaz IXposedHookLoadPackage. Aunque este artículo solo menciona brevemente los ganchos de las funciones de la biblioteca de publicidad de terceros, se puede extender a bibliotecas generales de terceros y puede proporcionar referencias.