Usar Frida incorporado¶
FIRERPA incorpora la última versión de Frida, por lo que no necesita iniciar frida-server por su cuenta. Nuestro Frida incorporado ya cuenta con varios parches de ocultación de código abierto, así como diversas funciones de ocultación adicionales que hemos añadido, por lo que no debe preocuparse por la detección de Frida. Si nuestro Frida incorporado es detectado, significa que casi todos los frida-server que pueda descargar también serán detectados. Así que puede usarlo con confianza, sin preocuparse por estos detalles.
Sugerencia
Atención
Uso a través de código¶
Al usar la API del cliente de FIRERPA, simplemente necesita usar d.frida como se muestra a continuación para obtener una instancia conectada a frida-server, sin necesidad de construir la conexión usted mismo usando la biblioteca de Frida.
conn = d.frida
conn.enumerate_processes()
Por supuesto, si desea comprender su implementación subyacente, también puede consultar el siguiente código.
# Obtener el token dinámico
token = d._get_session_token()
manager = frida.get_device_manager()
conn = manager.add_remote_device("192.168.0.2:65000", token=token)
conn.enumerate_processes()
El resto depende de cómo lo utilice usted. Ahora ha obtenido la instancia correctamente.
Uso a través de la línea de comandos¶
El uso a través de la línea de comandos puede ser un poco más complejo, ya que también debemos garantizar la seguridad de su dispositivo. Queremos recordarle que no se limite por los comandos que encuentre en otros artículos. Debe tener en cuenta que muchos comandos de Frida en otros artículos incluyen un parámetro -U, que nosotros no usamos aquí. Por lo tanto, si no puede conectarse, asegúrese de que su comando siga estrictamente el ejemplo.
Antes de comenzar, nos gustaría mencionar que recomendamos encarecidamente usar comandos como frida, frida-itrace, frida-trace, frida-ps, etc., a través del escritorio remoto. En este entorno, no necesita realizar ninguna operación adicional; simplemente ejecute frida sin necesidad de proporcionar otros parámetros de conexión como -U, -H, etc.

Dado que ha llegado hasta aquí, significa que todavía desea usar el comando en su computadora. Ahora, necesita recopilar cierta información según su instalación. Si su FIRERPA se inició con un certificado de servicio, necesitará tener ese archivo a mano. Además, necesitará la dirección IP del dispositivo al que desea conectarse y el puerto del servicio FIRERPA (por defecto, 65000). Tenga en cuenta que este no es el puerto 27042 de Frida, sino el puerto del servicio FIRERPA. Solo necesita conectarse a FIRERPA.
Primero, necesita usar la API para obtener el token actual. Este token es una cadena fija de 16 caracteres, como czvpyqg82dk0xrnj. Entendemos que este método puede ser un poco engorroso y podríamos realizar cambios para facilitar su uso en el futuro. Esta es también la razón por la que recomendamos usar los comandos de Frida en el escritorio remoto.
token = d._get_session_token()
print (token)
Ahora que ha obtenido un token de la API anterior, supongamos que es czvpyqg82dk0xrnj. Comencemos a escribir el comando de Frida.
Para todas las herramientas de línea de comandos oficiales de Frida, por defecto, solo necesita agregar los parámetros -H 192.168.0.2:65000 y --token xxxxxxxxxxxxxxxx, como se muestra a continuación. Tenga mucho, mucho, mucho cuidado de que no hay un parámetro -U aquí.
frida -H 192.168.0.2:65000 -f com.android.settings --token xxxxxxxxxxxxxxxx
Si su servidor FIRERPA se inició con un certificado de servicio, también deberá agregar el parámetro --certificate al comando.
frida -H 192.168.0.2:65000 -f com.android.settings --certificate /path/to/lamda.pem --token xxxxxxxxxxxxxxxx
Probablemente haya notado que solo hay tres diferencias: -U se convierte en -H porque necesitamos conectarnos a través de la red en lugar de USB; se agrega el parámetro --token; y si el servidor habilitó un certificado de servicio, también se agrega el parámetro --certificate. Esto es para garantizar la seguridad de su dispositivo y evitar el acceso no autorizado.
Uso a través de la línea de comandos (objection)¶
Para otras herramientas como objection, generalmente también se proporcionan los parámetros mencionados anteriormente. Sin embargo, la mayoría de las herramientas no estándar no agregan estos parámetros por completo. Actualmente, solo hemos aplicado un parche a objection, que no afectará su uso original. Pero como objection no se ha actualizado en mucho tiempo, no hemos enviado el parche al repositorio original. Puede descargar nuestro parche objection-1.11.0-command-patch.diff y aplicarlo al directorio de código de su instalación de objection (puede encontrar la ruta de instalación con el comando pip3 show objection).
Después de eso, puede usarlo de la siguiente manera. Como puede ver, solo se ha agregado el parámetro --token.
objection -N -h 192.168.0.2 -p 65000 --token xxxxxxxxxxxxxxxx explore
O si el servidor se inició con un certificado de servicio, también debe agregar --certificate al comando.
objection -N -h 192.168.0.2 -p 65000 --certificate /path/to/lamda.pem --token xxxxxxxxxxxxxxxx explore
Exponer interfaces de la aplicación¶
Este párrafo ha sido movido a la sección Usar Frida para exportar interfaces.