Jedes Betriebssystem hat seine eigenen Dateitypen, die ausführbare Programme sind. Auf Windows haben sie die Erweiterung '.exe', unter MacOS hängt ihre Funktion mehr oder weniger an den Containerdateien '.pkg' und an Android – '.apk'.
Diese Erweiterung steht für Android Package und bedeutet, dass die Datei alle Komponenten enthält, die zum Ausführen der Anwendung erforderlich sind. Sie werden über den Play Store oder seine kostenlosen Gegenstücke wie F-Droid vertrieben.
Darüber hinaus können solche Dateien auf verschiedenen Websites für mobile Geräte, z. B. w3bsit3-dns.com oder XDA, unabhängig voneinander heruntergeladen werden. Für die Installation des letzteren sind möglicherweise zusätzliche Aktionen des Benutzers erforderlich, z. B. das Aktivieren des Rechts zum Bereitstellen von Softwarekomponenten, die aus unbekannten Quellen stammen, auf dem Gerät in den Telefoneinstellungen.
Dekompilierung von Anwendungen und ihren Funktionen
Eine der Programmiersprachen, die beim Schreiben von Programmen für das Betriebssystem Android verwendet wird, ist Java. Anfänger und Leute, die an seine Werkzeuge gewöhnt sind, schreiben in der Regel Programme darauf. Große Entwickler verwenden andere Sprachen, die mehr Freiheit bei der Verwendung von Bibliotheken oder Softwarekomponenten von Drittanbietern bieten.
Damit der geschriebene Code zu einer funktionierenden Anwendung wird, muss er mit dem im SDK (Software Development Kit) integrierten Compiler kompiliert werden. Der umgekehrte Vorgang, wenn der Programmcode aus der fertigen APK-Datei abgerufen wird, wird als Dekompilierung bezeichnet.
Warum müssen Sie solche Dateien möglicherweise dekompilieren? Es gibt verschiedene Situationen, in denen dies nützlich ist:
- Der Benutzer verfügt nicht über genügend Funktionen und über ausreichende Kenntnisse und Erfahrungen, um Änderungen am fertigen Code vorzunehmen.
- Sehen Sie, wie eine bestimmte Komponente des Programms funktioniert, und sammeln Sie die erforderlichen Erfahrungen bei der Implementierung, wenn Sie Ihr eigenes Produkt erstellen.
- Stellen Sie fest, ob die Anwendung schädlichen Code verwendet.
Wie Sie sehen können, erfordern all diese Aufgaben einige Erfahrung mit Programmiersprachen und Android SDK. Gleichzeitig gibt es im Internet viele Anweisungen, die auch Anfänger ausführen können, was den umgekehrten Kompilierungsprozess für sie nützlich macht. Sie müssen nur den Anweisungen folgen.
zum Inhalt
APK-Dekompilierer
Es gibt drei Arten von Programmen dieser Art: auf einem Computer, auf dem Telefon eines Benutzers und in der Cloud installiert. Der erste und der zweite haben einen größeren Funktionsumfang. Letztere sind insofern attraktiv, als sie keine Hardwareleistung verwenden und direkt vom Browser aus arbeiten. Der Nachteil von Cloud-Diensten ist die eingeschränkte Unterstützung für Module und Add-Ons von Drittanbietern. Dem Benutzer bleiben die Funktionen, die der Eigentümer des Dienstes bereitstellt.
Es ist erwähnenswert, dass die Entwickler einen Schutz gegen solche Aktionen einbauen. Dies wird als Verschleierung bezeichnet und erfolgt durch spezielle Dienste. Gleichzeitig wird die Struktur und Funktionalität des vollständig zusammengestellten Programms nicht beeinträchtigt, aber nach der Dekompilierung erhält der Benutzer inkohärente Teile des Maschinencodes, die eine detaillierte Analyse unmöglich machen.
zum Inhalt
Beste PC-Software
Dies ist eines der funktionsreichsten Dienstprogramme – APK Easy Tool . Es funktioniert mit verschiedenen Dateitypen und kann Dateien in jeder Entwicklungsphase entpacken. Das Hauptfenster enthält mehrere Registerkarten, auf denen sich alle Funktionen des Dienstprogramms befinden:
- Main ist der Ausgangspunkt für die Arbeit mit Programmen. Hier können Sie einen Ordner festlegen, der alle Quelldateien durch Reverse Engineering empfängt, dekompiliert und kompiliert, Signaturen signiert und ändert, nachdem Sie Änderungen vorgenommen haben. Am unteren Rand der Registerkarte für alle Prozesse werden alle Serviceinformationen zu den Toolkit-Versionen angezeigt.

- Rahmen – Eine Registerkarte zum Verbinden zusätzlicher Module und Frameworks, die beim Auspacken oder Verpacken des fertigen Produkts hilfreich sein können. Es unterstützt die Installation des Frameworks im APK-Format und die Ernennung eines separaten Ordners für jede Version oder Sorte.

- Smali / backsmali – ein Compiler bzw. Dekompiler von Dateien, die im Dezimalformat geschrieben sind. Zum Zeitpunkt dieses Schreibens befindet sich die Funktion in der Beta-Phase, funktioniert jedoch ohne größere Fehler. Die Funktionalität ist ziemlich primitiv, es gibt nur zwei Schaltflächen – 'Kompilieren' und 'Dekompilieren'. Sie können Ordner für den Quellcode oder das Zielspeicherziel für das neu kompilierte Ergebnis auswählen.

- Protokollausgabe – Eine Registerkarte, die zum Debuggen von Prozessen nützlich ist und alle Protokolle aller gestarteten Prozesse enthält.

- Optionen – Ermöglicht die flexible Konfiguration des Programms zur Ausführung aller Aufgaben. Es gibt Optionen zum Verbinden verschiedener Versionen von Apktool und APK Signer, um maximale Kompatibilität mit früheren Versionen zu gewährleisten Android. Es gibt 4 eigene Registerkarten mit unterschiedlichen Parametern.

- FAQ – häufig gestellte Fragen, integrierte Anweisungen, mit denen Benutzer die häufigsten Fehler in ihrer Arbeit überwinden können.

- Informationen zur Version und Entwicklerkontakte mit Details zur freiwilligen Unterstützung.

Die Anwendung funktioniert mit Versionen Windows ab Vista und unterstützt die russische Benutzeroberfläche nicht. In Bezug auf die Funktionalität eignet es sich sowohl für Anfänger, die sich mit Hilfe von Anweisungen und Videohandbüchern damit befassen, als auch für erfahrene Anwendungsentwickler.
zum Inhalt
Dekompilierung auf einem mobilen Gerät
Wenn es nicht möglich ist, eine Anwendung auf einem Computer zu debuggen, dies jedoch unbedingt erforderlich ist, helfen Telefonprogramme. Dies sind auch APK-Dateien, die nicht zu reich an Einstellungen sind, aber zuverlässige Java-Dekompilierer. Das einfachste, aber gleichzeitig nützliche Dienstprogramm ist Show Java – Ein Java-Dekompiler.
Das Funktionsprinzip ist sehr einfach:
- Das anfängliche Fenster ist recht minimalistisch – eine Begrüßung und eine Schaltfläche “+”, mit der Sie beginnen können.

- Durch Klicken auf das '+' muss der Benutzer auswählen, wo das Programm zur Dekompilierung heruntergeladen werden soll – aus dem internen Speicher oder aus den bereits installierten.

- Wenn das erste Element ausgewählt ist, navigieren Sie im nächsten Schritt zu dem Ordner mit den APK-Dateien und wählen Sie einen davon aus. Anschließend müssen Sie diese Aktion bestätigen, indem Sie auf Auswählen klicken.

- Danach wird ein Dekompiler ausgewählt, der im Prozess verwendet werden soll.

- Anschließend wird ein Fenster mit dem Fortschritt des Vorgangs angezeigt. Wenn dies erfolgreich ist, sieht der Benutzer alle Dateien, die für die Funktion der Anwendung erforderlich sind, und ihren Quellcode. Wenn nicht, wird ein Fehlerfenster angezeigt.

Zu den Mängeln gehört die schlechte Dekodierung von Dateien, die verschleiert wurden. Im Übrigen ist der Funktionsumfang hier praktisch nicht von den Desktop-Gegenstücken zu unterscheiden.
zum Inhalt
Cloud-Dienst
Javadecompilers.com bietet alle Funktionen zum Parsen von APK-Dateien in ihre Bestandteile. Neben einem guten Online-Dekompiler gibt es auch eine Netzwerkversion von APKTools, die nützlich ist, wenn die erforderlichen Geräte nicht zur Verfügung stehen oder der Benutzer keine Zeit mit der Installation von Anwendungen verschwenden möchte.
Das Funktionsprinzip ist einfach:
- Sie müssen Ihren Browser öffnen und zu javadecompilers.com/apk gehen.

- Wählen Sie eine Datei aus dem Explorer aus und klicken Sie auf die Schaltfläche “Hochladen und dekompilieren”.
- Der Dekompilierungsprozess sieht hier folgendermaßen aus (die rote Linie – Fortschritt, der einen bestimmten Prozess anzeigt, wird am unteren Bildschirmrand in dem Bereich mit der Überschrift Dekompilierungsergebnisse dupliziert).

- Nach dem Ende des Vorgangs ändert sich der Status in ein Fenster dieses Typs, in dem die Möglichkeit besteht, die empfangenen Dateien herunterzuladen.

- Die Dateivorschau befindet sich unten auf der Seite und ermöglicht es Ihnen, den Grad des Erfolgs nach Abschluss zu beurteilen. Die Dateistruktur wird in der Form gespeichert, in der das Archiv heruntergeladen wird, mit dem gesamten Baum von Verzeichnissen und Unterverzeichnissen. Wenn der Inhalt von mindestens einem von ihnen schwer zu lesen ist, kann die Verschleierung nicht umgangen werden.

- Alle Dateien werden in ein Archiv gepackt und sehen so aus.

Einmal ausgepackt, können Sie mit ihnen machen, was Sie wollen. Der Cloud-Dienst bietet uneingeschränkten Zugriff, zeigt jedoch im Laufe seiner Arbeit viele Anzeigen an. Zum Funktionieren wird ein JaDX-Dekompiler verwendet, der möglicherweise nicht den Anforderungen einiger Projekte entspricht. Der Link zum Projekt kann in einem der sozialen Netzwerke veröffentlicht werden. Es gibt keinen Import auf Github, was auch für den Endentwickler, der nicht über die erforderlichen Tools verfügt, nicht sehr praktisch ist.
