Wir öffnen, modifizieren und verpacken Android-Anwendungen. So extrahieren Sie die APK-Datei einer installierten Anwendung in Android. So erstellen Sie eine APK-Datei

Eine der beliebtesten Anwendungen dieser Art. Ermöglicht Ihnen, die Installationsdatei direkt aus dem offiziellen Store zu extrahieren und auf Ihrem PC zu speichern. In diesem Fall muss das Programm nicht einmal auf einem PC installiert werden – es ist eine portable Version verfügbar, die vollständig von externen Laufwerken aus funktioniert. Beim ersten Start von Raccoon muss der Benutzer seine Google-Konto-Anmeldeinformationen eingeben. Die Geräte-ID wird ebenfalls abgefragt, dieser Parameter kann jedoch ignoriert werden.

Die Anwendungsoberfläche besteht aus zwei Registerkarten: Herunterladen und Suchen. Bei der Suche können Sie den Namen, die ID oder den Link im offiziellen Katalog verwenden. Nachdem Sie die Anwendung gefunden haben, können Sie sie als normale Datei auf Ihrem PC speichern und sie dann manuell auf einem anderen mobilen Gerät installieren.


Ein beliebter Alternativkatalog für Android, der Produkte verschiedener Entwickler präsentiert. Der Verzeichnis-Client ist klein und kann daher auf Low-End-Geräten verwendet werden. Alle Programme sind in Kategorien sortiert, es gibt eine komfortable Suche und die Anwendungen selbst können als Dateien heruntergeladen werden.

Und um Ihr Telefon schnell von Schmutz zu befreien, können Sie jederzeit Clean Master verwenden. Sie wissen nicht, was es ist? .

APK-Downloader

Erweiterung für Chrome- und Firefox-Browser. Außerdem können Sie das ausgewählte Dienstprogramm schnell als separate Datei herunterladen. Nach der Aktivierung des Plugins gehen Sie einfach auf die Seite des gewünschten Programms bei Google Play und nutzen die F5-Taste. Die Seite wird aktualisiert und zeigt die Download-Schaltfläche für das entsprechende Element an.

andere Methoden

Es gibt auch Möglichkeiten, APK-Dateien herunterzuladen, ohne Software von Drittanbietern zu installieren. Anstelle des APK-Downloader-Plugins können Sie beispielsweise den gleichnamigen Onlinedienst nutzen. Es reicht aus, die Ressource zu öffnen, einen Link zum Programm in ein spezielles Formular einzufügen und einen Button zu erhalten, dessen Aktivierung den Download auslöst.

Eine andere Möglichkeit: Öffnen Sie die gewünschte Seite bei Google Play und ändern Sie in der Adressleiste des Browsers manuell play.google.com in apk-dl.com (der Rest der Adresse muss übrig bleiben). Nachdem die Seite aktualisiert wurde, erhält der Benutzer die Möglichkeit, die ausgewählte Datei herunterzuladen.

Manchmal passen einige Anwendungen auf Android in irgendeiner Weise nicht zum Benutzer. Ein Beispiel ist aufdringliche Werbung. Und es kommt auch vor, dass das Programm für alle gut ist, aber die Übersetzung darin entweder schief ist oder ganz fehlt. Oder das Programm ist beispielsweise eine Testversion, es gibt jedoch keine Möglichkeit, die Vollversion zu erhalten. Wie kann man die Situation ändern?

Einführung

In diesem Artikel werden wir darüber sprechen, wie man ein APK-Paket mit einer Anwendung zerlegt, seine interne Struktur betrachtet, den Bytecode zerlegt und dekompiliert und auch versucht, verschiedene Änderungen an den Anwendungen vorzunehmen, die uns den einen oder anderen Vorteil bringen können.

Um das alles selbst zu erledigen, benötigen Sie mindestens Grundkenntnisse der Java-Sprache, in der Android-Anwendungen geschrieben werden, und der XML-Sprache, die überall in Android verwendet wird – von der Beschreibung der Anwendung selbst und ihrer Zugriffsrechte bis hin zur Speicherung von Zeichenfolgen wird auf dem Bildschirm angezeigt. Sie benötigen außerdem die Fähigkeit, spezielle Konsolensoftware zu verwenden.

Was ist also ein APK-Paket, in dem absolut die gesamte Android-Software verteilt ist?

Dekompilierung der Anwendung

In diesem Artikel haben wir nur mit disassembliertem Anwendungscode gearbeitet, aber wenn größere Änderungen an großen Anwendungen vorgenommen werden, wird das Verständnis des Smali-Codes viel schwieriger. Glücklicherweise können wir den Dex-Code in Java-Code dekompilieren, der zwar nicht original ist und nicht zurückkompiliert wird, aber viel einfacher zu lesen und die Logik der Anwendung zu verstehen ist. Dazu benötigen wir zwei Werkzeuge:

  • dex2jar ist ein Übersetzer von Dalvik-Bytecode in JVM-Bytecode, auf dessen Grundlage wir Code in der Java-Sprache erhalten können;
  • jd-gui ist selbst ein Dekompiler, der es Ihnen ermöglicht, lesbaren Java-Code aus JVM-Bytecode zu erhalten. Alternativ können Sie Jad (www.varaneckas.com/jad) verwenden. Obwohl es ziemlich alt ist, generiert es in einigen Fällen besser lesbaren Code als JD-GUI.

So sollten sie genutzt werden. Zuerst starten wir dex2jar und geben als Argument den Pfad zum APK-Paket an:

% dex2jar.sh mail.apk

Dadurch erscheint im aktuellen Verzeichnis das Java-Paket mail.jar, das bereits in jd-gui geöffnet werden kann, um den Java-Code anzuzeigen.

Zusammenstellung und Empfang von APK-Paketen

Ein Android-App-Paket ist im Wesentlichen eine normale ZIP-Datei, für deren Anzeige oder Extrahierung keine speziellen Tools erforderlich sind. Es reicht aus, einen Archivierer zu haben – 7zip für Windows oder Konsolen-Entpacken unter Linux. Aber das ist schon die Hülle. Was ist da drin? Im Allgemeinen haben wir die folgende Struktur im Inneren:

  • META-INF/- enthält ein digitales Zertifikat der Anwendung, das ihren Ersteller identifiziert, sowie Prüfsummen der Paketdateien;
  • res/ – verschiedene Ressourcen, die die Anwendung bei ihrer Arbeit verwendet, wie z. B. Bilder, deklarative Beschreibung der Schnittstelle sowie andere Daten;
  • AndroidManifest.xml- Beschreibung der Anwendung. Dazu gehört beispielsweise eine Liste der erforderlichen Berechtigungen, der erforderlichen Android-Version und der erforderlichen Bildschirmauflösung;
  • class.dex- kompilierter Anwendungsbytecode für die virtuelle Dalvik-Maschine;
  • resources.arsc- ebenfalls Ressourcen, aber anderer Art - insbesondere Strings (ja, diese Datei kann zur Russifizierung verwendet werden!).

Die aufgelisteten Dateien und Verzeichnisse befinden sich, wenn nicht in allen, dann vielleicht in der überwiegenden Mehrheit der APKs. Es gibt jedoch noch ein paar weitere nicht so häufige Dateien/Verzeichnisse, die es wert sind, erwähnt zu werden:

  • Vermögenswerte- Analogon von Ressourcen. Der Hauptunterschied besteht darin, dass Sie für den Zugriff auf eine Ressource deren Kennung kennen müssen. Die Liste der Assets kann jedoch dynamisch mithilfe der Methode AssetManager.list() im Anwendungscode abgerufen werden.
  • lib- Native Linux-Bibliotheken, die mit NDK (Native Development Kit) geschrieben wurden.

Dieses Verzeichnis wird von Spieleherstellern verwendet, die dort ihre in C/C++ geschriebenen Spiel-Engines ablegen, sowie von Entwicklern von Hochleistungsanwendungen (z. B. Google Chrome). Wir haben das Gerät herausgefunden. Aber wie erhalten Sie die Paketdatei der Anwendung, an der Sie interessiert sind? Da es ohne Root nicht möglich ist, APK-Dateien vom Gerät abzurufen (sie befinden sich im Verzeichnis /data/app) und Rooten nicht immer ratsam ist, gibt es mindestens drei Möglichkeiten, die Anwendungsdatei auf Ihren Computer zu übertragen:

  • APK-Downloader-Erweiterung für Chrome;
  • Echte APK-Leecher-App;
  • verschiedene File-Hosting- und Varezniks.

Welches man verwendet, ist Geschmackssache; Wir bevorzugen die Verwendung separater Anwendungen und beschreiben daher die Verwendung von Real APK Leecher, insbesondere da es in Java geschrieben ist und dementsprechend sowohl unter Windows als auch unter Nix funktioniert.

Nach dem Start des Programms müssen Sie drei Felder ausfüllen: E-Mail, Passwort und Geräte-ID – und eine Sprache auswählen. Die ersten beiden sind die E-Mail-Adresse und das Passwort Ihres Google-Kontos, das Sie auf dem Gerät verwenden. Der dritte ist die Gerätekennung und kann durch Eingabe des Codes auf dem Wählgerät abgerufen werden # #8255## und dann die Geräte-ID-Zeile finden. Beim Ausfüllen müssen Sie lediglich die ID ohne das Android-Präfix eingeben.

Nach dem Ausfüllen und Speichern erscheint häufig die Meldung „Fehler beim Herstellen einer Verbindung zum Server“. Es hat nichts mit Google Play zu tun, also ignorieren Sie es ruhig und suchen Sie nach Paketen, die Sie interessieren.

Anzeigen und Ändern

Nehmen wir an, Sie haben ein Paket gefunden, das Sie interessiert, haben es heruntergeladen, entpackt ... und als Sie versucht haben, eine XML-Datei anzuzeigen, waren Sie überrascht, dass es sich bei der Datei nicht um Text handelte. Wie dekompiliert man es und wie arbeitet man mit Paketen im Allgemeinen? Ist es wirklich notwendig, das SDK zu installieren? Nein, es ist überhaupt nicht notwendig, das SDK zu installieren. Tatsächlich erfordern alle Schritte zum Extrahieren, Ändern und Verpacken von APK-Paketen die folgenden Tools:

  • ZIP-Archiver zum Aus- und Einpacken;
  • klein- Bytecode-Assembler/Disassembler für die virtuelle Dalvik-Maschine (code.google.com/p/smali);
  • aapt- ein Tool zum Packen von Ressourcen (standardmäßig werden Ressourcen in binärer Form gespeichert, um die Anwendungsleistung zu optimieren). Im Android SDK enthalten, kann aber separat erworben werden;
  • Unterzeichner- ein Tool zum digitalen Signieren eines geänderten Pakets (bit.ly/Rmrv4M).

Sie können alle diese Tools separat verwenden, dies ist jedoch unpraktisch. Daher ist es besser, auf ihnen basierende Software auf höherer Ebene zu verwenden. Wenn Sie unter Linux oder Mac OS X arbeiten, gibt es ein Tool namens apktool. Es ermöglicht Ihnen, Ressourcen in ihrer ursprünglichen Form zu entpacken (einschließlich binärer XML- und ASC-Dateien) und ein Paket mit geänderten Ressourcen neu zu erstellen. Es weiß jedoch nicht, wie Pakete signiert werden, sodass Sie das Signer-Dienstprogramm manuell ausführen müssen. Obwohl das Dienstprogramm in Java geschrieben ist, ist seine Installation ziemlich ungewöhnlich. Zuerst müssen Sie die JAR-Datei selbst abrufen:

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ export PATH=~/bin:$PATH

Wenn Sie unter Windows arbeiten, gibt es dafür ein hervorragendes Tool namens Virtuous Ten Studio, das auch alle diese Tools (einschließlich apktool selbst) bündelt, dem Benutzer jedoch anstelle einer CLI-Schnittstelle eine intuitive grafische Oberfläche bietet, mit der Sie können Führen Sie Vorgänge zum Entpacken, Disassemblieren und Dekompilieren mit wenigen Klicks aus. Dieses Tool ist Donation-ware, d. h. manchmal erscheinen Fenster, in denen Sie aufgefordert werden, eine Lizenz zu erwerben, aber am Ende kann dies toleriert werden. Es hat keinen Sinn, es zu beschreiben, da Sie die Benutzeroberfläche in wenigen Minuten verstehen können. Aber apktool sollte aufgrund seines Konsolencharakters ausführlicher besprochen werden.


Schauen wir uns die Apktool-Optionen an. Kurz gesagt gibt es drei grundlegende Befehle: d (Dekodieren), b (Build) und if (Framework installieren). Wenn mit den ersten beiden Befehlen alles klar ist, was macht dann die dritte, bedingte Anweisung? Es entpackt das angegebene UI-Framework, was in Fällen erforderlich ist, in denen Sie ein Systempaket zerlegen.

Schauen wir uns die interessantesten Optionen des ersten Befehls an:

  • -S- Dex-Dateien nicht disassemblieren;
  • -R- Ressourcen nicht entpacken;
  • -B- Fügen Sie keine Debugging-Informationen in die Ergebnisse der Disassemblierung der Dex-Datei ein.
  • --frame-pfad- Verwenden Sie das angegebene UI-Framework anstelle des in apktool integrierten. Schauen wir uns nun einige Optionen für den b-Befehl an:
  • -F- Zwangsmontage ohne Überprüfung der Änderungen;
  • -A- Geben Sie den Pfad zu aapt (einem Tool zum Erstellen eines APK-Archivs) an, wenn Sie es aus irgendeinem Grund von einer anderen Quelle verwenden möchten.

Die Verwendung von apktool ist sehr einfach. Geben Sie dazu einfach einen der Befehle und den Pfad zum APK an, zum Beispiel:

$ apktool d mail.apk

Danach erscheinen alle extrahierten und disassemblierten Dateien des Pakets im Mail-Verzeichnis.

Vorbereitung. Werbung deaktivieren

Die Theorie ist natürlich gut, aber warum ist sie nötig, wenn wir nicht wissen, was wir mit dem ausgepackten Paket machen sollen? Versuchen wir, die Theorie zu unserem Vorteil anzuwenden, nämlich eine Software so zu modifizieren, dass sie uns keine Werbung anzeigt. Lassen Sie es zum Beispiel Virtual Torch sein – eine virtuelle Fackel. Für uns ist diese Software ideal, denn sie ist vollgestopft mit lästiger Werbung und zudem einfach genug, um sich nicht im Code-Dschungel zu verlieren.


Laden Sie die Anwendung also mit einer der oben genannten Methoden vom Markt herunter. Wenn Sie sich für die Verwendung von Virtuous Ten Studio entscheiden, öffnen Sie einfach die APK-Datei in der Anwendung und entpacken Sie sie, erstellen Sie ein Projekt (Datei -> Neues Projekt) und wählen Sie dann Datei importieren im Projektkontextmenü. Wenn Sie sich für apktool entschieden haben, führen Sie einfach einen Befehl aus:

$ apktool d com.kauf.particle.virtualtorch.apk

Danach erscheint im Verzeichnis com.kauf.particle.virtualtorch ein Dateibaum ähnlich dem im vorherigen Abschnitt beschriebenen, jedoch mit einem zusätzlichen Smali-Verzeichnis anstelle von Dex-Dateien und einer Datei apktool.yml. Der erste enthält zerlegten Code der ausführbaren Dex-Datei der Anwendung, der zweite enthält Serviceinformationen, die apktool benötigt, um das Paket wieder zusammenzusetzen.

Der erste Ort, an dem wir suchen sollten, ist natürlich AndroidManifest.xml. Und hier stoßen wir sofort auf folgende Zeile:

Es ist nicht schwer zu erraten, dass es dafür verantwortlich ist, der Anwendung Berechtigungen zur Nutzung der Internetverbindung zu erteilen. Wenn wir nur die Werbung loswerden wollen, müssen wir höchstwahrscheinlich nur die Anwendung aus dem Internet blockieren. Versuchen wir es. Wir löschen die angegebene Zeile und versuchen, die Software mit apktool zu erstellen:

$ apktool b com.kauf.particle.virtualtorch

Die resultierende APK-Datei erscheint im Verzeichnis com.kauf.particle.virtualtorch/build/. Es wird jedoch nicht möglich sein, es zu installieren, da es weder über eine digitale Signatur noch über Dateiprüfsummen verfügt (es verfügt lediglich über kein META-INF/-Verzeichnis). Wir müssen das Paket mit dem Dienstprogramm apk-signer signieren. Gestartet. Die Benutzeroberfläche besteht aus zwei Registerkarten – auf der ersten (Key Generator) erstellen wir Schlüssel, auf der zweiten (APK Signer) signieren wir. Um unseren privaten Schlüssel zu erstellen, füllen Sie die folgenden Felder aus:

  • Zieldatei- Keystore-Ausgabedatei; es speichert normalerweise ein Schlüsselpaar;
  • Passwort Und Bestätigen- Passwort für die Speicherung;
  • Alias- Name des Schlüssels im Speicher;
  • Alias-Passwort Und Bestätigen- Geheimschlüssel-Passwort;
  • Gültigkeit- Gültigkeitsdauer (in Jahren). Der Standardwert ist optimal.

Die übrigen Felder sind grundsätzlich optional – mindestens eines muss jedoch ausgefüllt werden.


WARNUNG

Um eine Anwendung mit apk-signer zu signieren, müssen Sie das Android SDK installieren und in den Anwendungseinstellungen den vollständigen Pfad dazu angeben.

Alle Informationen dienen ausschließlich Informationszwecken. Weder die Herausgeber noch der Autor sind für mögliche Schäden verantwortlich, die durch die Materialien dieses Artikels verursacht werden.

Jetzt können Sie die APK mit diesem Schlüssel signieren. Wählen Sie auf der Registerkarte „APK Signer“ die neu generierte Datei aus, geben Sie das Passwort, den Schlüsselalias und das Passwort ein, suchen Sie dann die APK-Datei und klicken Sie mutig auf die Schaltfläche „Signieren“. Wenn alles gut geht, wird das Paket signiert.

DIE INFO

Da wir das Paket mit unserem eigenen Schlüssel signiert haben, kommt es zu Konflikten mit der Originalanwendung. Wenn wir also versuchen, die Software über den Markt zu aktualisieren, erhalten wir eine Fehlermeldung.

Eine digitale Signatur ist nur für Software von Drittanbietern erforderlich. Wenn Sie also installierte Systemanwendungen ändern, indem Sie sie in das Verzeichnis /system/app/ kopieren, müssen Sie sie nicht signieren.

Laden Sie anschließend das Paket auf Ihr Smartphone herunter, installieren Sie es und starten Sie es. Voila, die Anzeige ist weg! Stattdessen erschien jedoch die Meldung, dass wir kein Internet haben oder nicht über die entsprechenden Berechtigungen verfügen. Theoretisch könnte das ausreichen, aber die Meldung sieht nervig aus, und ehrlich gesagt hatten wir einfach Glück mit einer dummen Anwendung. Normalerweise klärt geschriebene Software höchstwahrscheinlich ihre Anmeldeinformationen oder prüft, ob eine Internetverbindung besteht, und verweigert andernfalls einfach den Start. Wie soll es in diesem Fall sein? Bearbeiten Sie natürlich den Code.

Typischerweise erstellen Anwendungsautoren spezielle Klassen zum Anzeigen von Werbung und rufen Methoden dieser Klassen auf, wenn die Anwendung oder eine ihrer „Aktivitäten“ (einfach ausgedrückt: Anwendungsbildschirme) gestartet wird. Versuchen wir, diese Klassen zu finden. Wir gehen in das smali-Verzeichnis, dann com (org enthält nur die offene Grafikbibliothek cocos2d), dann kauf (hier ist es, weil dies der Name des Entwicklers ist und sein gesamter Code dort ist) – und hier ist es, das Marketingverzeichnis. Darin finden wir eine Reihe von Dateien mit der Erweiterung smali. Dabei handelt es sich um Klassen, und die bemerkenswerteste unter ihnen ist die Klasse Ad.smali, aus deren Namen man leicht erraten kann, dass es sich um die Klasse handelt, die Werbung anzeigt.

Wir könnten die Logik seiner Funktionsweise ändern, aber es wäre viel einfacher, Aufrufe einer seiner Methoden einfach aus der Anwendung selbst zu entfernen. Daher verlassen wir das Marketingverzeichnis und gehen zum angrenzenden Partikelverzeichnis und dann zu Virtualtorch. Besondere Aufmerksamkeit verdient hier die Datei MainActivity.smali. Hierbei handelt es sich um eine Standard-Android-Klasse, die vom Android SDK erstellt und als Einstiegspunkt in die Anwendung installiert wird (analog zur Hauptfunktion in C). Öffnen Sie die Datei zum Bearbeiten.

Darin befindet sich Smali-Code (lokaler Assembler). Es ist ziemlich verwirrend und aufgrund seines Low-Level-Charakters schwer zu lesen, daher werden wir es nicht studieren, sondern einfach alle Verweise auf die Ad-Klasse im Code finden und sie auskommentieren. Wir geben in der Suche die Zeile „Anzeige“ ein und gelangen zu Zeile 25:

Feld Privatanzeige:Lcom/kauf/marketing/Ad;

Hier wird ein Anzeigenfeld erstellt, um ein Anzeigenklassenobjekt zu speichern. Wir kommentieren, indem wir ein ###-Zeichen vor die Zeile setzen. Wir setzen die Suche fort. Zeile 423:

Neuinstanz v3, Lcom/kauf/marketing/Ad;

Hier erfolgt die Objekterstellung. Kommentieren wir. Wir setzen die Suche fort und finden in den Zeilen 433, 435, 466, 468, 738, 740, 800 und 802 Aufrufe von Methoden der Ad-Klasse. Kommentieren wir. Sieht so aus, als wäre es das. Speichern. Nun muss die Verpackung wieder zusammengesetzt und auf Funktionalität und das Vorhandensein von Werbung überprüft werden. Für die Reinheit des Experiments geben wir die aus AndroidManifest.xml entfernte Zeile zurück, stellen das Paket zusammen, signieren es und installieren es.

Unser Meerschweinchen. Werbung sichtbar

Hoppla! Die Werbung verschwand nur, während die Anwendung lief, blieb aber im Hauptmenü, das wir sehen, wenn wir die Software starten. Also, warten Sie, aber der Einstiegspunkt ist die MainActivity-Klasse, und die Werbung verschwand, während die Anwendung ausgeführt wurde, blieb aber im Hauptmenü, also ist der Einstiegspunkt ein anderer? Um den wahren Einstiegspunkt zu identifizieren, öffnen Sie die Datei AndroidManifest.xml erneut. Und ja, es enthält die folgenden Zeilen:

Sie sagen uns (und, was noch wichtiger ist, dem Android), dass eine Aktivität namens Start als Reaktion auf die Generierung einer Absicht (Ereignis) android.intent.action.MAIN aus der Kategorie android.intent.category.LAUNCHER gestartet werden soll. Dieses Ereignis wird generiert, wenn Sie im Launcher auf das Anwendungssymbol tippen, und bestimmt somit den Einstiegspunkt, nämlich die Startklasse. Höchstwahrscheinlich hat der Programmierer zunächst eine Anwendung ohne Hauptmenü geschrieben, deren Einstiegspunkt die Standardklasse MainActivity war, und dann ein neues Fenster (Aktivität) hinzugefügt, das das Menü enthält und in der Startklasse beschrieben ist, und es manuell zum Eintrag gemacht Punkt.

Öffnen Sie die Datei Start.smali und suchen Sie erneut nach der Zeile „Ad“. In den Zeilen 153 und 155 finden wir eine Erwähnung der FirstAd-Klasse. Es befindet sich auch im Quellcode und ist, dem Namen nach zu urteilen, für die Anzeige von Anzeigen auf dem Hauptbildschirm verantwortlich. Schauen wir weiter, es gibt die Erstellung einer Instanz der FirstAd-Klasse und einer Absicht, die sich je nach Kontext auf diese Instanz bezieht, und dann das Label cond_10, dessen bedingter Übergang genau vor der Erstellung einer Instanz ausgeführt wird der Klasse:

If-ne p1, v0, :cond_10 .line 74 new-instance v0, Landroid/content/Intent; ... :cond_10

Höchstwahrscheinlich berechnet das Programm zufällig, ob Werbung auf dem Hauptbildschirm angezeigt werden soll, und springt, wenn nicht, direkt zu cond_10. Ok, vereinfachen wir ihre Aufgabe und ersetzen den bedingten Übergang durch einen unbedingten:

#if-ne p1, v0, :cond_10 goto:cond_10

Da FirstAd im Code nicht mehr erwähnt wird, schließen wir die Datei und setzen unsere virtuelle Taschenlampe mit apktool wieder zusammen. Kopieren Sie es auf Ihr Smartphone, installieren Sie es und starten Sie es. Voila, alle Werbung ist verschwunden, wozu wir uns allen gratulieren.

Ergebnisse

Dieser Artikel ist nur eine kurze Einführung in die Methoden zum Hacken und Ändern von Android-Anwendungen. Viele Probleme blieben im Verborgenen, etwa das Entfernen des Schutzes, das Parsen von verschleiertem Code, das Übersetzen und Ersetzen von Anwendungsressourcen sowie das Ändern von Anwendungen, die mit dem Android NDK geschrieben wurden. Mit Grundkenntnissen ist es jedoch nur eine Frage der Zeit, alles herauszufinden.

Viele von Ihnen wissen, dass die Installation einer Android-Anwendung einfach ist: Sie öffnen den Google Play-Markt, suchen das gewünschte Programm oder Spiel, klicken auf die große Schaltfläche „Installieren“ und fertig. Allerdings liegen Android-Anwendungen in Form von Paketen vor, die ebenfalls manuell installiert werden. Diese Pakete haben die Erweiterung „.apk“ und ihre praktischen Einsatzmöglichkeiten sind zahlreich. So können Sie beispielsweise ganz einfach Apps sichern, die auch als APK-Dateien gespeichert sind. Dies hilft Ihnen sogar, wenn eine Anwendung oder ein Spiel plötzlich aus Google Play verschwindet, wie es bei Flappy Bird der Fall war. Auf Wunsch kann jeder die Anwendung herunterladen und auf seinem Smartphone installieren. Es ist auch praktisch, APK-Dateien auf Geräten zu installieren, die vom Hersteller künstlich eingeschränkt sind (Amazon Kindle Fire oder Nokia X).

Wie können Sie jedoch die installierte APK-Datei extrahieren? Sie können die Anwendung ganz einfach im Internet finden, herunterladen und auf Ihrem Android-Gerät installieren. Diese Methode funktioniert hervorragend mit kostenlosen Apps. Bezahlte Versionen sind aus offensichtlichen Gründen vor dem Herunterladen geschützt. Darüber hinaus sollten Anwendungen, die nach der Installation zusätzliche Dateien herunterladen, einwandfrei funktionieren.

  • 1. Gehen Sie auf Ihrem Android-Gerät zu Google Play und laden Sie die App herunter, die Sie extrahieren möchten.
  • 2. Laden Sie die APK Extractor-App herunter. Diese Anwendung ist kostenlos und einfach zu verwenden.
  • 3. Öffnen Sie die APK Extractor-App und wählen Sie eine beliebige App aus, die Sie extrahieren möchten. Sie können mehrere Bewerbungen gleichzeitig markieren. APK-Dateien werden im Ordner „ExtractedApks“ im Gerätespeicher gespeichert.

Die extrahierten APK-Dateien können nun auf ein anderes Android-Smartphone oder -Tablet kopiert und mit einem beliebigen Dateimanager wie Astro oder ES File Explorer installiert werden.

Hallo Leser unserer Seite. Eines Tages bat einer der Besucher um Hilfe; er musste APK-Dateien von einem Android-Smartphone extrahieren. Daher haben wir uns entschieden, die Antwort auf diese Frage in diesem Artikel zu beschreiben. Mit diesem Vorgang können Sie alle installierten Anwendungen auf einem Smartphone, Tablet oder anderen Geräten sichern, auf denen das Android-Betriebssystem ausgeführt wird.

In welchen Fällen werden installierte Anwendungen gesichert?

Situation eins. Sie müssen Ihr Telefon auf die Werkseinstellungen zurücksetzen, es besteht jedoch kein Internetzugang oder nur ein mobiler Zugriff. Sie möchten nicht erneut Apps von Google Play herunterladen müssen, da dies viel Zeit in Anspruch nehmen wird. In solchen Fällen ist es möglich, APK-Dateien von einem Android-Gerät zu extrahieren oder .

Situation zwei. Sie haben ein spannendes Spiel installiert, dessen Cache viel „wiegt“, und Ihrem Freund hat es gefallen, und er wollte das gleiche Spielzeug, aber auch hier gibt es keinen Zugang zum Internet. Hier müssen Sie eine Reservierung des installierten Spiels vornehmen. Anweisungen zur ordnungsgemäßen Installation von Spielen mit Cache finden Sie hier.

Es gibt viele solcher Situationen.

Wie extrahiere ich APK-Dateien von einem Android-Gerät?

Um diese Aufgabe abzuschließen, benötigen wir die kostenlose ES Explorer-Anwendung, die bei Google Play zu finden ist. Warum gerade dieser Dirigent? Es ist einfach, ein ausgezeichneter und benutzerfreundlicher Dateimanager und verfügt bereits über eine integrierte Funktion zur Anwendungssicherung. Mit dieser Funktion können Sie die gewünschten APK-Dateien von Android-Geräten extrahieren.

Methode 1. Sie haben also „ES Explorer“ installiert, jetzt starten wir ihn:

Bild 1

Dazu gehen wir zum Anwendungsmenü und drücken die von uns angegebene Taste in der oberen linken Ecke des Gerätebildschirms. Erweitern Sie den Abschnitt „Bibliotheken“ und klicken Sie auf APPs.

Figur 2

Wenn Sie alles richtig gemacht haben, öffnet sich vor Ihnen ein Fenster mit installierten Benutzeranwendungen. Wählen Sie als Nächstes die Anwendung aus, die Sie extrahieren möchten, und drücken Sie die Taste Reservieren am unteren Bildschirmrand.


Abbildung 3 Abbildung 4

Alle extrahierten Anwendungen befinden sich im Ordner « Handyspeicher/Backups/Apps". Möglicherweise ist Ihnen aufgefallen, dass in den Abbildungen 3 und 4 einige Dateien rot oder grün hervorgehoben sind. Also los geht's: Anwendungen, die zuvor gesichert wurden und sich im Ordner befinden, werden grün markiert Apps und in Rot - Anwendungen, die ebenfalls zuvor extrahiert, aber aus dem Ordner gelöscht wurden Apps (Es werden nur extrahierte Dateien gelöscht, nicht installierte). Das ist im Grunde alles, was die Extraktion mit dieser Methode ausmacht.

Abbildung 5

Jetzt können Sie mit diesen Dateien machen, was Sie wollen: Laden Sie sie auf Ihren Computer herunter, senden Sie sie per Bluetooth oder E-Mail an einen Freund. Wir möchten Sie noch einmal daran erinnern, dass diese Methode nur die vom Benutzer installierten Anwendungen sichert, nicht jedoch die Systemanwendungen. Um Systemanwendungen zu sichern, verwenden Sie Methode 2.

Methode 2. Wir starten den gleichen „ES Explorer“. Oben auf dem Bildschirm gibt es eine Auswahl an Speicherbereichen (Abbildung 6) oder gehen Sie zum Menü „Lokaler Speicher“ (Abbildung 7) und wählen Sie den Eintrag aus /Gerät .


Abbildung 6 Abbildung 7

Als nächstes müssen Sie zu gehen System/App . Hier sind alle Anwendungen aufgeführt, die auf dem Gerät installiert sind: sowohl Benutzer- als auch Systemanwendungen. Anschließend suchen wir die benötigte APK-Datei und kopieren diese in den gewünschten Ordner. Somit erhalten Sie eine fertige APK-Datei zur Installation auf anderen Gadgets.

Warnung! Bei beiden Methoden müssen Sie dies möglicherweise tun. Es ist durchaus möglich, dass einige extrahierte System-APK-Dateien nicht auf anderen Android-Geräten installiert werden können, da sie für eine bestimmte Firmware entwickelt wurden.

Das ist alles.

Wir hoffen, dass dieser Beitrag zur Lösung des Problems beigetragen hat und Sie APK-Dateien von Ihrem Android-Gerät extrahieren konnten. Wenn Sie andere Möglichkeiten zur Programmreservierung kennen oder ähnliche Fragen haben, schreiben Sie uns.

Bleiben Sie dran, es liegt noch viel Interessantes vor uns.

Viele Android-Benutzer wissen, dass Sie mit der Titanium Backup-Anwendung die Anwendung als APK-Datei vom Gerät extrahieren können. Heute schauen wir uns eine Methode an, mit der Sie die APK-Datei einer Anwendung direkt aus dem Google Play Store abrufen können.

Der Vorteil dieser Methode besteht darin, dass die Anwendung nicht zuerst auf dem Gerät installiert werden muss. Leider funktioniert diese Methode nur für kostenlose Anwendungen. Was wir also brauchen:

1. Google Chrome

Erstellen Sie eine zweite Verknüpfung für Google Chrome auf Ihrem Desktop.

Klicken Sie mit der rechten Maustaste auf die Verknüpfung und wählen Sie „Eigenschaften“. Fügen Sie im Feld „Objekt“ die folgenden, durch ein Leerzeichen getrennten Befehle ein:

Zertifikatfehler ignorieren

Erlaube die Ausführung unsicherer Inhalte

Es wird ungefähr so ​​aussehen:

...\chrome.exe" --ignore-certificate-errors --allow-running-insecure-content

Klicken Sie auf „Übernehmen“ und „OK“.

Nach diesem Vorgang müssen Sie den Browser neu starten und alle laufenden Instanzen der Anwendung schließen.

2. Name des Google-Kontos und Geräte-ID

Tatsächlich simulieren wir das Herunterladen einer Anwendung auf das Gerät, daher müssen Sie den Namen Ihres Kontos, also den Namen Ihres Google-Postfachs, sowie die Identifikationsnummer Ihres Android-Geräts kennen.

Mit der Box ist alles klar, aber um die Geräte-ID herauszufinden, öffnen Sie den Dialer auf Ihrem Smartphone und wählen Sie *#*#8255#*#*

Auf dem angezeigten Bildschirm müssen Sie die Zeile „Geräte-ID:“ finden.

Die ID-Nummer ist die Kombination aus Buchstaben und Zahlen nach „android-“. Wenn Sie beispielsweise in der Zeile „Geräte-ID: android-1122aa33bb445577“ sehen, dann ist die Kennung die Kombination „1122aa33bb445577“. Schreiben Sie diese Kombination auf.

Wenn Sie Ihre Geräte-ID aus irgendeinem Grund mit der oben genannten Methode nicht ermitteln konnten, können Sie einfach die Geräte-ID-Anwendung aus dem Google Play Store herunterladen.

3. APK-Downloader

Laden Sie die Browser-Erweiterung namens APK Downloader herunter.

Geben Sie im erscheinenden Fenster die Adresse unseres Google-Kontos, also die E-Mail-Adresse, ein. Passwort (ja, beängstigend) sowie Geräte-ID. Klicken Sie anschließend auf „Anmelden“.

Wählen Sie im nächsten Fenster Ihr Land und Ihren Mobilfunkanbieter aus und klicken Sie dann auf „Einstellungen speichern“. Als nächstes sollte ein Fenster erscheinen, das anzeigt, dass die Erweiterung erfolgreich aktiviert wurde.

4. Google Play Store

Gehen Sie jetzt zu unserem bevorzugten Google Play Store und wählen Sie eine beliebige kostenlose Anwendung aus. Auf der rechten Seite der Adressleiste des Browsers erscheint ein charakteristischer grüner Kopf mit einem Pfeil.

Klicken Sie auf dieses Symbol und die Anwendung wird erfolgreich als APK-Datei auf Ihren Computer heruntergeladen. Im Wesentlichen wissen wir jetzt, wie man eigenständige Distributionen kostenloser Anwendungen erstellt.

Es ist nicht möglich, die absolute Integrität des Entwicklers der APK Downloader-Erweiterung zu überprüfen. Geben Sie Ihre Kontoinformationen daher auf eigene Gefahr und Gefahr ein. Darüber hinaus verstoßen solche Aktionen grundsätzlich gegen die Nutzungsregeln des Google Play Store.