Me interesan las cosas de seguridad y quiero comenzar con dispositivos Android para probar este sistema operativo. He visto que hay muchos exploits para Android (el más famoso es el caso StageFright) y también tengo curiosidad por comenzar a desarrollar algo así. Sé cómo funciona la memoria y tengo mucha experiencia en técnicas de explotación de Linux (tanto de búfer como de montón).
Por supuesto, tengo algunas preguntas sobre los conceptos básicos y las herramientas de Android.
Ya descargué el AOSP para poder leer el código fuente sin problemas. Entonces, el análisis estático se puede hacer fácilmente y no necesito algo como IDA o BinaryNinja como Linux para analizar el código.
¿Pero qué pasa con los sistemas de análisis / depuración dinámicos? En Linux, uso GDB para verificar el diseño del montón, el estado del búfer o las condiciones de registro, etc. .. Pero, ¿cómo puedo depurar cosas del sistema utilizando GDB? En particular, ¿cómo puedo LIVE depurar una parte específica del código AOSP?