How to reverse-engineer / decompile ein Android-APK, die war verschleiert mit ProGuard?

Leider habe ich verloren, den source-code von einem meiner apps, die ich verschleiert mit ProGuard.

Ich habe immer noch die .apk - Datei und einige config Dateien, die erzeugt wurden durch ProGuard:

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

Was habe ich bisher getan?

  1. Decodiert Ressource-Dateien mit apktool.

    Yay, ich habe diese zurück!

  2. Extrahiert .apk - Datei und konvertiert die classes.dex - Datei in eine .jar - Datei mit dex2jar.

Wenn ich jetzt den Quelltext (.jar-Datei) mit JD-Gui, ich sehe meine obfuscated code. So 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 seltsam. Ich glaube nicht, Schreibe 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, re-Karte der verborgenen code zu meiner ursprünglichen Quellcode mit einer der ProGuard ist .txt-Dateien? Ich möchte sehen, wie meine eigenen Variablen-Namen /Signaturen.

Oder können diese Dateien nur verwendet werden, um crash-Bericht stack-traces?

InformationsquelleAutor jenzz | 2013-02-09
Schreibe einen Kommentar