yaoteng/myhunter

#####aviso: la cadena de características es muy importante. Se puede cambiar junto con la evolución de los servicios de endurecimiento. Si es incorrecto, el proceso de desembalaje no se puede activar. DexHunter aprovecha «fwrite» y otras funciones libc para manipular archivos. Pero estas funciones están enganchadas por servicios de endurecimiento que resultan en el bloqueo del proceso. Como resultado, no puede utilizar la imagen proporcionada para desempaquetar los últimos servicios hardedning. Es mejor que reemplace estas funciones con las llamadas directas al sistema para evitar el bloqueo.,

DexHunter tiene como objetivo desempaquetar el archivo DEX endurecido automáticamente.

DexHunter se basa en el código fuente de Android runtime. Se compone de art modificado y tiempo de ejecución DVM. Puede usar el tiempo de ejecución modificado para reemplazar el contenido original en los códigos fuente de Android (Android 4.4.3). La modificación está principalmente en «art/runtime/class_linker.cc» (ART) y «dalvik/vm/native / dalvik_system_DexFile.cpp » (DVM).

###Uso:

Si desea desempaquetar una aplicación, usted necesita para empujar el «dexname» archivo «/data/» en el móvil antes de iniciar la aplicación., La primera línea en «dexname «es la cadena de entidades (refiriéndose a» slide.pptx»). La segunda línea es la ruta de datos de la aplicación de destino (por ejemplo, » / data / data / com.prueba.prueba/»). Su final de línea debe estar en el estilo de Unix / Linux. Puede observar el registro utilizando «logcat» para determinar si el procedimiento de desembalaje ha finalizado. Una vez hecho esto, se genera «todo.Dex » archivo es el resultado deseado que se encuentra en el directorio de datos de la aplicación.

###consejos:

  1. DexHunter simplemente reutiliza el contenido antes de la sección» class_def » en lugar de analizarlos para la eficiencia., Si hay algunos problemas, puede analizarlos y volver a ensamblarlos de nuevo o modificarlos estáticamente.

  2. vale la pena señalar que algunos campos» annotation_off «o» debug_info_off » pueden ser inválidos en el resultado. Estos archivos no tienen nada que ver con la ejecución solo para dificultar la descompilación. No nos ocupamos de esta situación específicamente por el momento. Solo puede programar algunos scripts para establecer los archivos no válidos con 0x00000000.,

  3. como se sabe, algunos servicios de endurecimiento pueden proteger varios métodos en el archivo dex restaurando las instrucciones justo antes de ser ejecutadas y borrándolas justo después de terminadas. Por lo tanto, también necesita modificar la función «DoInvoke» (ART) o «dvmMterp_invokeMethod» (DVM) para extraer la instrucción protegida mientras se ejecuta.

4) la cadena de características se puede cambiar junto con la evolución de los servicios de endurecimiento.

5)si el «fwrite» y otras funciones libc fallan, tal vez estas funciones están enganchadas por el endurecimiento de los servicios., Como resultado, no puede volcar la memoria a través de ellos. Puede eludir esta limitación llamando directamente a las llamadas pertinentes del sistema.

DexHunter tiene su propia limitación. A medida que se desarrollan los servicios de endurecimiento, DexHunter puede no ser eficaz en el futuro. Si está interesado, puede modificar DexHunter para seguir el ritmo de los servicios de endurecimiento continuamente.

###Descripción del archivo:

«demo.mp4» es el video de demostración de desempaquetado de una aplicación reforzada por Ali.

«test.apk » es la muestra utilizada en el video.

«dexname» es el archivo de configuración utilizado en el vídeo.,

El Directorio»art» es el tiempo de ejecución modificado para ART.

El Directorio»dalvik» es el tiempo de ejecución modificado para DVM.

los archivos»image» 7z contienen los archivos de imagen del sistema utilizados en el video.

Si tiene alguna pregunta, contácteme por correo electrónico a [email protected].

Si utiliza este código, por favor cite el siguiente artículo. ¡Gracias!

Yueqian Zhang, Xiapu Luo, and Haoyang Yin, DexHunter: Toward Extracting Hidden Code from Packed Android Applications, Proceedings of the 20th European Symposium on Research in Computer Security (Esorics), Vienna, Austria, September 2015.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir a la barra de herramientas