2013-02-09 7 views
15

Leider habe ich den Quellcode einer meiner Apps verloren, die ich mit ProGuard verschleiert habe.
Ich habe noch die .apk Datei und einige Konfigurationsdateien, die von ProGuard generiert:Wie man ein Android APK, das mit ProGuard verschleiert wurde, rückentwickeln/dekompilieren kann?

  1. dump.txt
  2. mapping.txt
  3. seeds.txt
  4. usage.txt

Was ich bisher getan haben ?

  1. Decoded Ressource-Dateien mit apktool.
    Yay, ich habe die zurück!

  2. Heraus .apk Datei und konvertiert die classes.dex-Datei in eine Datei mit .jardex2jar.

Wenn ich nun den Quellcode (.jar-Datei) JD-Gui sehen, ich sehe meinen verschleierten Code. Etwas wie dieses:

class c { 
    TextView a; 
    TextView b; 
    TextView c; 
    TextView d; 
    CheckBox e; 
} 

protected List a(Uri[] paramArrayOfUri) { ... } 

protected void a(List paramList) { ... } 

Auch einige Schleifen sehen ein bisschen komisch aus. Ich schreibe nicht Endlosschleifen:

while (true) { 
    if (!localIterator.hasNext()) 
     return localArrayList; 
    ProviderInfo[] arrayOfProviderInfo = ((PackageInfo)localIterator.next()).providers; 
    if (arrayOfProviderInfo == null) 
     continue; 
    int i = arrayOfProviderInfo.length; 
} 

Ist es möglich, den verschleierten Code zu meiner ursprünglichen Quellcode re-map einem der ProGuard der TXT-Dateien verwenden? Ich möchte meine eigenen Variablennamen/Methodensignaturen sehen.
Oder können diese Dateien nur verwendet werden, um Absturzprotokoll-Traces zu verfolgen?

Antwort

3

Alles, was Sie suchen, ist in der Datei mapping.txt, aber ich habe noch nie ein Werkzeug gesehen, das alles umkehren würde. Einige der Verschleierung, die Proguard durchführt, sind nicht einfach nur das Umbenennen der Methoden und Variablen, so dass Sie wahrscheinlich nicht in der Lage sind, das zu tun, was Sie versuchen zu tun. retrace.jar, das mit dem Proguard-Download kommt, könnte dich ein wenig weiter bringen, aber ich bin mir ziemlich sicher, dass du das mit einer Stacktrace-Datei verwenden musst.

Verwandte Themen