
Scriptable debugger para la máquina virtual Dalvik de Android que utiliza las interfaces JDWP/DDM para interceptar métodos, inspeccionar el estado del proceso y modificar el comportamiento en tiempo de ejecución sin código fuente.
AndBug es un depurador orientado a la máquina virtual Dalvik de la plataforma Android, diseñado para ingenieros inversos y desarrolladores. Utiliza las mismas interfaces que el plugin de depuración de Eclipse de Android, el Protocolo de Depuración por Cable Java (JDWP) y el Monitor de Depuración Dalvik (DDM), para permitir a los usuarios enganchar métodos Dalvik, examinar el estado del proceso e incluso realizar cambios.
A diferencia de las herramientas de depuración del propio Kit de Desarrollo de Software (SDK) de Google, AndBug no requiere ni espera código fuente. Sin embargo, sí requiere cierto nivel de comodidad con Python, ya que utiliza un concepto de puntos de interrupción con scripts, llamados "hooks", para la mayoría de las tareas no triviales. (Si solo quieres volcar las clases, métodos o hilos cargados, hay scripts de ejemplo para eso.)
-- Scott Dunlop [email protected]
AndBug es un programa muy cambiante, a medida que separo scripts únicos que he escrito en IOActive para diversas tareas de contextos propietarios de clientes y de IOActive. No recomiendo la instalación en este momento, ya que querrás actualizarlo con frecuencia después. AndBug funciona muy bien desde su propio directorio de origen con muy poca configuración.
Instala el Kit de Desarrollo de Software Android desde https://developer.android.com/sdk/index.html
Asegúrate de que el Puente de Depuración de Android (ADB) esté en tu $PATH y sea utilizable. ::
which adb adb devices
Asegúrate de tener un buen Python y la cadena de herramientas GNU para tu plataforma. Necesitarás GCC y Make. También es posible que quieras Pyrex, si deseas hacer cambios en la capa primitiva.
Obtén el último código de AndBug desde https://github.com/swdunlop/AndBug.git ::
git clone https://github.com/swdunlop/AndBug.git
Compila usando Make ::
make
Ajusta $PYTHONPATH ::
export PYTHONPATH=pwd/lib
Los ejemplos se pueden encontrar en el directorio sample, pero la forma más sencilla de encontrar funcionalidad preempaquetada en AndBug es usando el comando "andbug" directamente. ::
./andbug
Este comando actualmente no tiene la inteligencia de detectar automáticamente cuando se ejecuta desde el directorio de origen y actualizar PYTHONPATH sobre la marcha. Deberás asegurarte de que PYTHONPATH incluya tu directorio andbug/lib.
P: Obtengo "Permission Denied" al intentar usar AndBug, pero "adb shell" funciona.
R: Es probable que tu adbd esté ejecutándose como otro usuario, bloqueando el uso efectivo de ADB forward. Usa "adb kill-server" y luego "adb start-server" con el usuario efectivo correcto.
P: Obtengo "Shell Exception" al intentar usar AndBug.
R: Verifica que tu configuración de ADB funcione usando "adb devices" — AndBug depende de ADB para un transporte JDWP.
P: ¿Funciona AndBug en Windows?
R: Creo que sí; pero dado que AndBug es software no soportado, es posible que experimentes menos ayuda de la que los usuarios de Windows están acostumbrados. Los parches son bienvenidos.
P: ¿Funciona AndBug en Mac OS X?
R: Sí, pero consulta el comentario sarcástico sobre los usuarios de Windows. No encontraste esto en una tienda de aplicaciones..
P: Navi me da un RequestError 13.
R: Has reanudado el proceso; Navi solo puede interactuar de forma segura con procesos suspendidos. Usa "suspend" de nuevo.
P: Obtengo "EOF in read" al enviar un comando.
R: Asegúrate de que no haya otros depuradores conectados, como DDMS.
Copyright 2011, IOActive Todos los derechos reservados.
AndBug es software libre: puedes redistribuirlo y/o modificarlo bajo los términos de la versión 3 de la Licencia Pública General Reducida de GNU (GNU Lesser General Public License) según lo publicado por la Free Software Foundation.
AndBug se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulta la Licencia Pública General Reducida de GNU para más detalles.
Deberías haber recibido una copia de la Licencia Pública General Reducida de GNU junto con AndBug. Si no es así, consulta http://www.gnu.org/licenses/.