Extraer un apk de una aplicación paga del dispositivo

Estaba sacando los archivos .apk del dispositivo usando el siguiente comando:

./adb pull /data/app/com.example.tracker-1.apk

Cuando intenté usar el mismo comando para la aplicación encriptada como se muestra a continuación:

./adb pull /mnt/asec/net.stfj.spelltower-1/pkg.apk 

me sale el siguiente mensaje

failed to copy '/mnt/asec/net.stfj.spelltower-1/pkg.apk' to './pkg.apk': Permission denied

El dispositivo no está rooteado y la aplicación es una aplicación paga. La intención de tirar no es la piratería sino comprender la biblioteca y la arquitectura de un conjunto de aplicaciones. ¿Hay alguna manera de recuperar ese archivo .apk?

Respuestas (3)

No podrá extraer una "aplicación protegida" sin root, lo siento.

Esto no tiene nada que ver con la aplicación que se paga, excepto que, por lo general, solo las aplicaciones pagas están "protegidas" (teóricamente, las aplicaciones gratuitas también podrían estar "protegidas"). Piense en ello más bien como una especie de "DRM".

Una vez que su dispositivo esté rooteado, puede usar "poderes de root" para extraer esos .apkarchivos. Esto se puede hacer usando una aplicación especializada (como AppMonster ), o adb pullsi el demonio ADB se ejecuta en modo raíz (generalmente no lo hace, pero eso se puede lograr usando adbd Insecure ). adb rootpor lo general, no funciona en "dispositivos de producción", por lo que debe utilizar este enfoque diferente.

Entonces, si el dispositivo está rooteado, ¿será la forma habitual de acceder al .apk? diga: ./adb pull /mnt/asec/net.stfj.spelltower-1/pkg.apk o necesito ser un superusuario en el shell para extraer los datos. Sería genial si alguien puede tener los pasos para lograr esto. Leí a través de muchos foros. las líneas comunes que vería son dispositivos rooteados, superusuario de adb shell, adb root
Haga clic en la marca de verificación junto a la respuesta si la cuenta así :) Esto y "votar a favor" (que puede hacer tan pronto como tenga un poco más de representante) son las formas de StackExchange de decir "gracias". Mientras tanto, actualizaré mi respuesta con los detalles solicitados.
+1 por respuesta, pero ¿existe alguna ambigüedad legal sobre la extracción de archivos apk de aplicaciones pagas? Supongo que no, pero cualquier distribución sería ilegal, ¿verdad?
@RossC Exactamente. Siempre que los extraiga "como respaldo", pero los guarde para usted, no debería haber ningún reclamo legal posible. La "protección" está más bien dirigida a evitar el "compartir": si no puede obtener el archivo, no puede compartirlo.

A menos que desee jugar específicamente con adb, puede usar cualquiera de estas dos soluciones 100% probadas (sin embargo, cada una requiere la instalación de otra aplicación).


Approach_1: (necesita un dispositivo rooteado)


  • descargue e instale una aplicación de respaldo/restauración (como Titanium Backup o AppMonster; las versiones gratuitas funcionarán bien);
  • copia de seguridad de la aplicación que necesita;
  • navegue hasta el directorio /sdcard/TitaniumBackup (en el caso de AppMonster, deberá buscar en la configuración de AppMonster para ver su directorio de datos de respaldo) y obtenga su APK desde allí

Enfoque_2:


  • instale Busybox (en el caso de dispositivos rooteados de fábrica --- en los llamados teléfonos/tabletas de desarrollador --- ya estará allí)
  • descargue e instale un emulador de terminal (como Terminal Emulator de Jack Palevich)
  • ejecútelo y escriba esto (no use $ o #; son simplemente indicaciones de shell para su conveniencia; reemplace el nombre_aplicación_deseado.apk con el nombre real del APK que verá en la lista después de ejecutar el comando 'ls'):

    $cd data/app
    $su
    #ls
    #cat desired_app_name.apk > /sdcard/Download/desired_app_name.apk
    #exit
    $exit
    
  • obtenga su APK desde el directorio de descargas (por supuesto, puede usar otro directorio sin restricciones)

No importa de qué aplicaciones estemos hablando, gratuitas o de pago.

Necesita rootear su teléfono para obtener acceso a /mnt