0

Gibt es Möglichkeiten, verschleierte dex/jar-Dateien in Java-Quellcode zu dekompilieren? Ich habe eine APK mit keiner classes.dex-Datei darin, aber ich habe die Odex-Datei. Ich habe versucht, oat2dex und dex2jar zu verwenden, um die dex/jar-Dateien zu erhalten, und dann ein paar Decompiler verwendet, um die Java-Quelle zu bekommen, aber ich bekomme entweder Fehler in einigen Teilen oder wirklich schwer Code zu lesen, da er verschleiert ist.Dekompilieren verschleierter Android dex/jar-Dateien in Java-Quellcode

Hier ist, was ich

  • JD-GUI versucht habe (zuerst habe ich versucht, die Dekompilierung abgeschlossen, aber mit mehreren Fehlern)
  • Fernflower (nicht vollenden kann)
  • Procyon (ziemlich gut, aber mit einigen Fehlern)
  • CFR (besser, aber mit einigen Fehlern)
  • Jadx (am besten, mit den wenigsten Fehlern, aber Code ist immer noch verschleiert und schwer zu lesen, mit mehreren Klassen/Methoden mit den gleichen zufälligen Namen)

Was kann ich tun, um besser lesbaren Code zu erhalten?

+0

Warum dekompilieren Sie verschleierten Code? Um dies zu erschweren ist der Zweck der Verschleierung Werkzeuge. –

+0

Wenn es einen guten gibt, denke ich, dass die Leute aufhören werden, ihren Code zu verschleiern. –

+0

Also kann ich sagen, dass es keine Lösung gibt? – user1118764

Antwort

1

Es gibt kein magisches Werkzeug, das all Ihren verschleierten Code in etwas Sinnvolles und "Sauberes" umformt. Verschleierter Code ist verschleiert: Beschäftige dich damit.

Sie können jedoch den verschleierten Quellcode speichern, ein Projekt mit Ihrer bevorzugten Idee erstellen (das Refactor unterstützt) und Funktionen und Variablen manuell analysieren und sie zu etwas Bedeutendem umgestalten. Dies erfordert eine Menge Zeit, aber schließlich erhalten Sie einen fast sauberen Quellcode.