java - permission - package id android
Inyección de APK, recompilación de manifiesto de android. (2)
La única forma confiable que encontré para volver a empaquetar la aplicación con el manifiesto de androiod de texto plano es aapt
usando aapt
directamente.
aapt package -f -M ./AndroidManifest.xml -S res1/ -S res2/ ... -I android.jar -F MyProject.apk.unaligned
Para crear el apk, y luego:
aapt add -f MyProject.apk.unaligned classes.dex
Para agregar fuentes compiladas al paquete.
Luego usando jarsigner para firmar el paquete:
jarsigner -storepass <keystore password> -keystore <keystore filename> MyProject.apk.unaligned <key name>
Lo que me gustaría lograr
Descompile AndroidManifest.xml empaquetado en apk de forma binaria en un archivo xml normal, edítelo y vuelva a compilarlo en un archivo binario aceptable para el apk Básicamente necesito un driver para archivos AXML.
Fondo corto
Estoy trabajando en un proyecto de inyección de APK. Mi meta es
- Desmontar el binario dalvik.
- Lee AndroidManifest xml y agrégale modificaciones, como cambiar la actividad principal y agregar permisos
- reconstruir y firmar el archivo apk
Uso apktool para ensamblar y desensamblar el apk. Sin embargo, la herramienta de apk funciona solo con la --no-res
, si se desmonta con recursos no se puede volver a generar. Aquí hay un problema con github que describe este error .
El problema
Desde que apktool d --no-res app-debug.apk
el apktool d --no-res app-debug.apk
sin ninguna apktool d --no-res app-debug.apk
resolución, el manifiesto de Android generado viene en forma binaria. Puedo desmontar el manifiesto usando apktool
pero no puedo recuperarlo.
Lo que quiero poder hacer
Necesito:
- Encuentre una manera de desmontar el manifiesto y luego vuelva a ensamblarlo en forma binaria
- Encuentra una manera de usar
apktool
con recursos
Lo que he intentado hasta ahora
- Reemplazar el
AndroidManifest.xml
binarioAndroidManifest.xml
con una versión de texto plano y luego compilar. Elapktool
construiría. Sin embargo, la instalación de la aplicación en el dispositivo falla con "Error de análisis, hay un problema al analizar el paquete". - Usando diferentes versiones de
apktool
:v2.3.2
,v2.3.1
,v2.3.0
,v2.2.0
,v2.2.1
,v2.2.2
- Compilando axml usando los siguientes proyectos: https://github.com/rednaga/axmlprinter ; https://github.com/ZaratustraN/axml-parser ; https://github.com/shazam/axmlparser
Renuncia
Aunque stackoverflow es una comunidad para compartir conocimientos, y no juzgar para qué se usa, veo que muchas personas se meten con otras en preguntas similares con acusaciones de actividades ilegales.
Lo que estoy haciendo es absolutamente legal y no se utilizará para explotar a nadie.
La instalación puede dar un error de análisis en las siguientes condiciones, ver si alguna se encontró con usted:
- El nombre del paquete se cambia después de firmar: use el nombre exacto, ya que el paquete firmado (en su lugar, ajuste el nombre en Manifiesto)
- Paquete. se ha compilado en un nivel superior de API: corrija el nivel de API en el archivo de manifiesto.
- El paquete se ejecuta desde la tarjeta SD: ejecute (instale) el archivo apk desde la memoria de los teléfonos O use el comando adb para instalarlo.
Puede firmar manualmente su apk como se indica here .