1 votos

¿Cómo comprobar si una aplicación de Android está tomando fotos en segundo plano?

Tengo una aplicación para Android que me ha parecido que está cargando la cámara en segundo plano. Es uno de los navegadores de Internet más utilizados - Chrome.

He estado tratando de depurar lo que realmente está sucediendo con LogCat en el Android Device Monitor. Un par de líneas que me llaman la atención:

I/CameraManagerGlobal(24529): getCameraService: Reconnecting to camera service
I/CameraService(331): getCameraCharacteristics: Switching to HAL1 shim implementation...
I/NuPlayer(331): setDataSourceAsync(URL suppressed)
I/CameraClient(331): Opening camera 1
E/QCamera2HWI(331): [KPI Perf] int qcamera::QCamera2HardwareInterface::openCamera(hw_device_t**): E PROFILE_OPEN_CAMERA camera id 1
I/QCameraHalWatchdog(331): Starting Watchdog Thread...
E/mm-camera-intf(331): mm_camera_open: dev name = /dev/video2, cam_idx = 2
D/QCameraParameters(331): int32_t qcamera::QCameraParameters::initDefaultParameters(): supported pic sizes: 1280x960,1280x720,640x480,352x288
D/QCameraParameters(331): int32_t qcamera::QCameraParameters::setNumOfSnapshot(): nBurstNum = 1, nExpnum = 1
I/QCameraHalWatchdog(331): Stopped Watchdog Thread...
I/CameraClient(331): Destroying camera 1
E/QCameraPostProc(331): int32_t qcamera::QCameraPostProcessor::deinit(): Jpeg closed, rc = 0, mJpegClientHandle = 7900

¿Cómo puedo saber si la foto está realmente tomada?

¿Es posible que este comportamiento sea normal para comprobar la disponibilidad de la cámara?

0 votos

Sí, es Chrome. Y tengo en la "Configuración del sitio" la cámara establecida en Bloqueado por lo que no debería haber ninguna razón para que se cargue la cámara en el fondo.

0 votos

Para estar seguro, puedes comprobar qué aplicación/proceso escribe el registro con mi respuesta . En mi teléfono, CameraManagerGlobal es por Instagram. No estoy seguro para el PID 331 ya que no obtuve tales registros a pesar de que tengo Chrome instalado...

0 votos

El primer proceso 24529 es com.Android.chrome, y el 331 es /system/bin/mediaserver que parece manejar la tarea de la cámara.

1voto

Me7e0r Puntos 11

Comprobar si uno o más dispositivos de cámara están disponibles no es tan inusual como parece, a menudo se utiliza para comprobar si las opciones de cámara deben mostrarse o no. También parece poco probable que un atacante/espía genere una salida de registro que pueda revelar su intención. Sin embargo, la apertura de la cámara como se muestra en su registro parece sospechosa y debería investigarla más a fondo. Mis sugerencias:

  • Si tienes algunas cadenas o nombres de clase puedes buscar más en el código abierto de "chrome para Android" (ver esto Correo electrónico: para saber dónde encontrar el código) y comprobar dónde se utilizan las cadenas en el código. Tal vez puedas identificar las llamadas e importaciones a la API de la cámara y comprobar cómo se utilizan. Dependiendo de la versión de Android las importaciones pueden variar, pero aquí hay algunos ejemplos para el API de Camera2 a tener en cuenta:

    • "Android.hardware.camera2.CameraManager"
    • "Android.hardware.camera2.CaptureRequest"
    • "Android.hardware.camera2.CameraCaptureSession"
  • Si quieres profundizar te recomendaría enganchar ciertas llamadas a la API con herramientas como Frida o RMS . Estas herramientas le permiten enganchar las llamadas de java cuando se ejecutan y puede registrar algo más de salida si es necesario. Así que puedes enganchar la API de la cámara java y ver si se ha tomado una foto. En el caso de que hayas construido el código tú mismo, también puedes adjuntar el depurador y establecer breakpoints para detener el código en ciertos estados.

  • Suena raro, pero una de las formas más rápidas es quizás preguntar a los desarrolladores de chrome para Android (chromium embebido) directamente por qué están usando la cámara y en qué parte del código. Tal vez usted puede abrir una nueva discusión en el proyecto oficial página web para pedir a los desarrolladores que le echen un vistazo.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X