Purtroppo, ho perso il codice sorgente di una delle mie app che ho offuscato usando ProGuard.
ho ancora il file .apk
e alcuni file di configurazione che sono stati generati da ProGuard:Come decodificare/decompilare un APK Android che è stato offuscato con ProGuard?
dump.txt
mapping.txt
seeds.txt
usage.txt
Che cosa ho fatto finora ?
file di risorse decodificati con apktool.
Yay, li ho recuperati!Estratte
.apk
di file e convertito il fileclasses.dex
in un file utilizzando.jar
dex2jar.
Se io ora visualizzare il codice sorgente (file .jar) utilizzando JD-Gui, vedo il mio codice offuscato. Qualcosa del genere:
class c {
TextView a;
TextView b;
TextView c;
TextView d;
CheckBox e;
}
protected List a(Uri[] paramArrayOfUri) { ... }
protected void a(List paramList) { ... }
Anche alcuni anelli sembrano un po 'strani. Non scrivo cicli infiniti:
while (true) {
if (!localIterator.hasNext())
return localArrayList;
ProviderInfo[] arrayOfProviderInfo = ((PackageInfo)localIterator.next()).providers;
if (arrayOfProviderInfo == null)
continue;
int i = arrayOfProviderInfo.length;
}
E 'possibile ri-mappare il codice offuscato al mio codice sorgente originale utilizzando uno qualsiasi dei file .txt di Proguard? Mi piacerebbe vedere i miei nomi delle variabili/firme dei metodi.
Oppure questi file possono essere utilizzati solo per seguire le tracce dello stack dei crash report?