Android reverse 11.IDA depura APK SO en modo de depuración

A veces, necesitamos depurar las funciones en el archivo SO durante el proceso de inicio de APK. ¡Obviamente es demasiado tarde para usar el método adicional!

Por ejemplo, si desea depurar la función JNI_Onload de la biblioteca SO, ¡muchas veces necesita adjuntarla y depurarla cuando se inicia el programa!

1. Primero, debe configurar android: debuggable = " true " en AndroidManifest.xml , de lo contrario, habrá un error de que no se puede conectar al emulador.

 

2. Ejecute [dispositivos adb] en la ventana CMD para verificar si el emulador está conectado correctamente

 

3. Envíe el android_server debajo de la carpeta dbgsrv en el directorio de instalación de IDA al emulador de Android. Tenga en cuenta que la ruta donde se encuentra el archivo android_server no puede tener chino ni espacios, de lo contrario el comando adb push será incorrecto, y colocaré el archivo android_server en el directorio raíz de la unidad c , Use el siguiente comando para enviar android_server al emulador. 
[Adb push C: \ android_server / data / local / tmp]

 

4. Ejecute el comando [adb shell]

 

5. Ejecute [su] para obtener autoridad de root

 

6. Ejecute [cd / data / local / tmp] para cambiar la ruta a / data / local / tmp

 

7. Ejecute [ls -l] para consultar todos los archivos en el directorio y leer y escribir permisos

 

8. Ejecute [chmod 777 android_server] para modificar los permisos del archivo android_server a los permisos 777

 

9. Ejecute [ls -l] nuevamente para ver si los permisos del archivo se han modificado correctamente

 

10. Ejecute [./android_server] para iniciar android_server

 

11. No cierre la ventana original, vuelva a abrir una nueva ventana CMD, ejecute [adb forward tcp: 23946 tcp: 23946 ] para el reenvío de puertos

 

12. Abra DDMS, ábralo, siempre que pueda mostrar la lista de procesos normalmente. ¡Entonces no cierre el DDMS!

 

13. El formato del comando para iniciar el proceso en modo de depuración es: adb shell am start -D -n nombre del paquete / nombre del paquete Actividad de entrada 
[adb shell am start -D -n com.crackme.jnidynamicregtest / com.crackme.jnidynamicregtest.MainActivity] 
Después de ejecutar el comando, puede ver que el emulador de Android inició el proceso y solicitó Esperar al depurador

 

 

14. Abra el menú IDA Debugger-> Attach-> Remote ARM Linux / Android depurador, ingrese 127.0.0.1 y haga clic en Aceptar

 

 

15. Seleccione el proceso a adjuntar y haga clic en Aceptar

 

16. En este momento, IDA normalmente ha adjuntado el proceso y se detuvo

17. Depurador-> Opción de depurador, marque tres elementos

 

18. Abra el DDMS que acaba de iniciar y verifique el puerto de proceso, que es 8613

 

Supongo que te gusta

Origin www.cnblogs.com/fuhua/p/12740482.html
Recomendado
Clasificación