¿Descubra la dirección del framebuffer en una arquitectura desconocida?

1

Recientemente obtuve un código sin firmar a través de un exploit en un dispositivo. Ahora me gustaría descubrir la dirección del framebuffer para poder escribir en la pantalla y generar datos.

La única forma en que puedo imaginar hacer esto es haciendo un bucle for / while y escribir en cada dirección de memoria hasta que la pantalla se dibuje. Cuando digo dirección me refiero a la dirección pyshicall.

¿Es la forma correcta o hay otros métodos para hacer esto? En este momento estoy completamente ciego ya que no puedo mostrar nada.

Gracias

    
pregunta Pedro Javier Fernández 21.08.2016 - 11:34
fuente

1 respuesta

1

Si ve lo que está en la pantalla o si incluso puede hacer que el dispositivo muestre la imagen que elija, puede adivinar los datos que representan los píxeles en el framebuffer. Solo necesita saber el formato de píxel o probar todos los formatos típicos (RGB, BGR, RGBx, BGRx ...). Luego, simplemente escanee toda la memoria en busca de los datos que espera encontrar en framebuffer. La lectura es mucho menos destructiva que la escritura y no es necesario observar si la visualización cambió entre las escrituras.

Ejemplo: supongamos que sabe que en el momento de la ejecución hay una línea de píxeles que contiene píxeles negros, negros, blancos, negros y blancos en este orden. Haga que su exploit scan memory para 000000 000000 FFFFFF 000000 FFFFFF . Si encuentra una coincidencia, puede haber encontrado una dirección dentro del framebuffer y puede intentar escribir en ella para mostrarla en pantalla. Obviamente, cuanto más largo sea el patrón, menor será la probabilidad de falsos positivos.

    
respondido por el michalsrb 21.08.2016 - 12:06
fuente

Lea otras preguntas en las etiquetas