App Cracking

By AleX

Android App Cracking Tutorial by AleX

Avete acquistato un’applicazione sul Market ufficiale Google Play e la volete installare su più terminali,
usando account diversi, ma senza volerla ricomprare?
Volete condividerla con amici e parenti?

Vediamo come fare

Per realizzare questo tutorial mi sono servito di un Samsung Galaxy S2 con Android Gingerbread 2.3.4,
dell’SDK Manager (Tool + Virtual Device) e di un PC con sistema operativo Windows 7 (x64).
Se lavorate in ambiente Linux non ci sono comunque problemi.

Requisiti

Un terminale basato su Android 1.5 o superiore,
un PC con sistema operativo Windows o Linux.

Per prima cosa installiamo sul nostro device un file manager,
Astro andrà benissimo.

Sul PC installiamo il tool Anti-LVL (che vi consiglio di tenere aggiornato):

Windows –> Download
Linux –> Download

Diamo uno sguardo alle protezioni e a cosa fa il tool

LVL e Protezioni

Da ormai qualche anno, Google ha modificato il sistema di protezione che gli sviluppatori possono
implementare nelle proprie applicazioni per impedirne la copia non autorizzata.
Questa è basata sul controllo dell’LVL (License Validation Library).

Se per eludere la vecchia protezione bastava avere un terminale con diritti di root
e prelevare le applicazioni dalla cartella app private,
oggi aggirare il controllo è ancora più semplice.

Vediamo come funziona l’LVL

android app cracking 1 aleandroid

L’applicazione fa un controllo della licenza attraverso l’LVL e il client Google Play,
il quale gestisce la comunicazione col server dello Store.

Questo è il LicenseValidator Class e lo si può localizzare una volta disassemblata l’APK.

LicenseValidator.smali constants

.field private
static final ERROR_CONTACTING_SERVER:I = 0×101
.field private static final ERROR_INVALID_PACKAGE_NAME:I = 0×102
.field private static final ERROR_NON_MATCHING_UID:I = 0×103
.field private static final ERROR_NOT_MARKET_MANAGED:I = 0×3
.field private static final ERROR_OVER_QUOTA:I = 0×5
.field private static final ERROR_SERVER_FAILURE:I = 0×4
.field private static final LICENSED:I = 0×0
.field private static final LICENSED_OLD_KEY:I = 0×2
.field private static final NOT_LICENSED:I = 0×1


LicenseValidator.smali verify

.sparse-switch
0×0 —> :sswitch_d3
0×1 —> :sswitch_de
0×2 —> :sswitch_d3
0×3 —> :sswitch_11d
0×4 —> :sswitch_f3
0×5 —> :sswitch_101
0×101 —> :sswitch_e5
0×102 —> :sswitch_10f
0×103 —> :sswitch_116
.end sparse-switch


0×0 e 0×3 sono entrambi valori positivi e quando l’applicazione farà il controllo
riconoscerà la licenza come genuina.

La parte importante è questa:

0×1 o NOT_LICENSED

In un’applicazione senza licenza,
cambiando 0×1 —> :sswitch_de in 0×1 —> :sswitch_d3
la libreria indicherà all’applicazione
che la licenza è valida.

Infine basterà riassemblare il tutto.

Se qualcuno di voi mastica un po’ di programmazione,
avrà già capito che automatizzare il processo
per mezzo di uno script non è poi così difficile.

Non a caso abbiamo scelto Anti-LVL,
tool che con un solo comando esegue l’intera procedura,
ovvero, semplificando:
disassembla, modifica il file LicenseValidator e riassembla.

Crack di un’applicazione

Avviamo Astro File Manager,
premiamo Menu –> Strumenti –> Gestore Applicazioni

android app cracking 2 aleandroid

Selezioniamo l’applicazione che vogliamo crackare (Shazam Encore nel mio esempio),
premiamo Backup

android app cracking 3 aleandroid

Verrà fatto il dump dell’applicazione nella cartella:
..\backups\apps
Colleghiamo quindi il device al PC, e spostiamo l’applicazione sul Desktop.

Scompattiamo il file AntiLVL-1.4.0-win scaricato precedentemente,
e mettiamo l’applicazione all’interno della cartella.

android app cracking 4 aleandroid
Per vedere l’immagine intera clicca qui.

Avviamo il prompt dei comandi di Windows,
e posizionamoci all’interno della cartella AntiLVL-1.4.0-win.

Se abbiamo i files sul Desktop procediamo in questo modo:

android app cracking 5 aleandroid

Ci sono vari comandi, vediamo quello principale, che più ci interessa:

java -jar antilvl.jar applicazione.apk

L’applicazione che vogliamo crackare in questo esempio si chiama
com.shazam.encore.android-1.apk,
nel prompt dei comandi scriviamo semplicemente:

java -jar antilvl.jar com.shazam.encore.android-1.apk

Premiamo poi Invio per eseguire il comando.

android app cracking 5 aleandroid
Per vedere l’immagine intera clicca qui.

In pochi istanti il tool creerà una versione modificata dell’applicazione originale
che funzionerà anche su altri terminali.
Poiché la firma digitale originale non è presente
(questo perché l’applicazione è stata disassemblata e riasssemblata),
non ci sarà possibile effettuare gli aggiornamenti dal Market ufficiale.

Vi ricordo che un’applicazione,
dopo l’acquisto, può essere restituita una sola volta,
riacquistandola non apparirà più il bottone rimborso.
Inoltre ci tengo a precisare che la procedura non serve per trasformare
una versione free in versione pro,
ma solo ed esclusivamente a rimuovere la protezione LVL.

Se disponiamo di un solo terminale e vogliamo verificare la corretta applicazione
della patch su un’applicazione in nostro possesso, acquistata in precedenza sul Market ufficiale,
possiamo scaricare l’SDK Android Manager che comprende
vari tools e un Virtual Device,
utilissimo per fare test, simulando terminali con diverse versioni di Android.

Lucky Patcher

Esiste un altro tool, avviabile direttamente da device,
molto valido e aggiornato di frequente,
sto parlando di Lucky Patcher.

Unico requisito per l’utilizzo: diritti di root.

È davvero semplice, vediamo come fare..

Scarichiamo ed installiamo Lucky Patcher,
lo avviamo, ed eseguiamo un update se necessario,
selezioniamo l’applicazione che ci interessa,
e clicchiamo su Crea APK modificato.

android app cracking 7 aleandroid

Verrà creata una versione modificata dell’applicazione originale nella cartella
..\LuckyPatcher\Modified
che funzionerà anche su altri terminali.

Lucky Patcher è dotato di altre funzioni utili,
come ad esempio il blocco della pubblicità: Rimuovi Ads di Google!

Nota

È in crescita il numero di applicazioni con protezioni aggiuntive
inserite dagli sviluppatori stessi (e non da Google),
come ad esempio il controllo della manipolazione del fle APK,
oppure una verifica della licenza supplementare,
Carta Prepagata, Shark Dash, Widget Locker, SPB Shell,
sono solo alcune delle applicazioni che nelle loro ultime versioni
non funzionano se non regolarmente acquistate.
In questi casi, i metodi illustrati saranno inefficaci.

App per Testare la Guida

Allego un file per chi volesse provare a utilizzare questa guida,
all’interno troverete un’applicazione in due varianti,
con protezione LVL presente e rimossa.

Download

Video Tutorial Anti-LVL

A richiesta, allego un breve video tutorial sull’utilizzo del tool
Anti-LVL in ambiente Windows.

Se avete dubbi o vi serve una mano non esitate a chiedere.

Buon divertimento!

Sentitevi liberi di copiare questo tutorial altrove,
ma rispettate gentilmente la fonte (AleX @ Aleandroid).

  1. Tonio scrive:

    Ciao aleandroid è possibile aggiungere ruzzle adventure mod? Grazie

  2. Marco scrive:

    Ciao seguo da tanto sto sito però avrei bisogno di una applicazione che è la migliore per fitness e workout che c’è in palestra o a casa e non riesco a craccarla.. si chiama TOTAL FITNESS potresti aggiungerla?

  3. Luigi scrive:

    Ciao allora ho fatto la procedura più di una volta e sembra tutto funzionare correttamente ma purtroppo quando installo l’app modificata mi controlla nuovamente la licenza e mi costringe a chiuderla, se può interessare l’app è Drastic, l’ultima versione.

  4. marco scrive:

    nei prompt comandi mi dice che java non è riconoscibile come comando esterno o interno, un file eseguibile o un file batch. che faccio?

  5. fpippo scrive:

    Verifica il sito web , sei vulnerabile al heartbleed ssl bug!!!

    Ciao

  6. bob scrive:

    Ale, avrei una richiesta! Potresti per favore postare l’ultima versione di TeXpert? La versione free è inutilizzabile a causa delle ads di google…
    Grazie mille! bob

  7. Giorgio scrive:

    Ciao Aleandroid
    potresti aggiungere al sito l’APP Runtastic Mountain Bike PRO?
    Daresti una mano a tanti bikers! :)

    Grazie
    Ciao!

  8. Andro scrive:

    Ciao ho seguito questa guida ma quando inserisco il nome del file apk mi dice fatal error e che non ha trovato il file :( aiuto? “kazotiko” RISPONDI!!!

  9. dajgoro scrive:

    ciao ale scusa so che non c’è piu la sezione richieste cercavo solo se è possibile l’ultima versione ci cyberon voice commander grazie e scusa

  10. fpippo scrive:

    Interessanti le mirrorop app, puoi fare nulla in merito?

    Grazie

  11. Umberto scrive:

    ciao ale. ho visto questo bel post che hai fatto e ti devo fare i miei complimenti. però io volevo chiederti una aiutino (mi sa che però non ha molta inerenza all anti-lvl) su come rimuovere i banner ads negli apk. una volta deassembato (uso virtuous ten studio) nel file xml della cartella res/layout non trovo la stringa che parla del banner. magari si trova nei file smali , ma io non riesco proprio a capire quale bisogna modificare. l app in questione (quella dove vorrei eliminare gli ads è flappy bird) e se vuoi posso mandarti l apk. anzi possiamo fare un tutorial utile a tutti. spero che mi rispondi. grazie.

  12. RMan scrive:

    ciao aleandroid ..scusami se ti scrivo qua ma volevo chiederti …potresti mettere la app ANOMALY 2