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:
dump.txt
mapping.txt
seeds.txt
usage.txt
Was habe ich bisher getan?
-
Decodiert Ressource-Dateien mit apktool.
Yay, ich habe diese zurück! -
Extrahiert
.apk
- Datei und konvertiert dieclasses.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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alles, was Sie suchen, ist in der mapping.txt Datei, aber ich habe nie gesehen, dass ein tool, das umkehren würden es alle. Einige der Verschleierungen, dass Proguard führt nicht nur einfache umbenennen von Methoden und Variablen, so dass die Chancen sind Sie nicht in der Lage zu tun, was Sie zu tun versuchen. retrace.jar das kommt mit der Proguard downloaden können erhalten Sie ein bisschen weiter, aber ich bin mir ziemlich sicher, dass Sie verwenden, dass mit einer stacktrace-Datei.