Dies ist der Artikel am 24. Tag des "Athletic Engineer Advent Calendar 2017". Der 23. Tag war @ yuzu_afro's "Mit Raspberry Pi einen leuchtenden und klingenden Weihnachtsbaum machen".
Diesmal ** Ich habe den Quellcode der auf Google Play veröffentlichten App verloren **
Auch wenn die Welt in der Weihnachtsatmosphäre völlig schwebt Wir sind mit einer miserablen Situation ohne Hilfe konfrontiert Domo ist Nagao Morgen ist ** Christi Geburtstag ** Das ist ** Reverse Engineering Ihrer eigenen App ** (im Folgenden Rivaen) ** App Auferstehungsfest **
Zuallererst die notwendigen Vorbereitungen, egal was Sie tun ** Bereite die apk vor, die du wiederbeleben möchtest ** Ich werde gehen von
(Wenn Sie bereits die App haben, die Sie in .apk wiederbeleben möchten, benötigen Sie diesen Flow nicht.)
Es gibt auch eine Möglichkeit, dies mit einem Befehl zu tun Es ist ** schnell **, die ** apk-Extraktions-App ** bei Google Play zu verwenden.
** Zum Beispiel eine solche App ** https://play.google.com/store/apps/details?id=com.pandaz.apkextraction
Wenn Sie es auf Ihrem Smartphone installieren und starten
Die Apps auf Ihrem Smartphone sind in einer Reihe angeordnet Überprüfen Sie die gesuchte App und tippen Sie auf ** apk Extraction ** Danach können Sie ** apk my own ** erstellen, indem Sie es mit der Share-Schaltfläche auf Google Drive hochladen.
Beginnen wir mit dem einfachen
Grob gesagt ** Sie können beide sehen, indem Sie apk in Android Studio werfen ** ist
Zuerst ** Platziere die apk **, die du früher bekommen hast, irgendwo im Voraus auf deinem ** Computer **. Und In Android Studio ** Datei → Neu → Neues Projekt ** Entscheiden Sie den Projektnamen entsprechend und erstellen Sie ein Projekt mit Weiter → Weiter ... Öffnen Sie das erstellte Projekt ** Erstellen → APK analysieren **
Ein Dateiauswahldialog wird angezeigt Wählen Sie die apk aus, die Sie im Voraus auf Ihren Computer gestellt haben Dann öffnet sich dieser Bildschirm (diesmal benutze ich die apk der Anwendungsbeispiel-App)
Einfach zu sehen ** Klicken Sie einmal auf die XML-Datei, die Sie sehen möchten ** Dann
Der Inhalt von xml wird im unteren Teil angezeigt ** Bilddateien ** Etwas ist normalerweise im üblichen ** Zeichen ** Sie können das mit ** Einzelklick ** sehen
** [2] und [3] sind vorbei **
Es gibt viel mehr zu tun als [2] und [3]
Ändern Sie einfach ** apk ** in ** zip ** Alles was Sie tun müssen, ist den ** Dateinamen ** von apk von ** XXX.apk ** in ** XXX.zip ** zu ändern
** Normalerweise wird es durch einfaches Doppelklicken erweitert ** ** Doppelklicken Sie auf diesen Reißverschluss ** Einer nach dem anderen ** Es gibt kein Anzeichen dafür, dass so etwas wie ein Verwandter mit Reißverschluss geboren ** und erweitert wird ... Bei einer solchen ** Matroschka-Reißverschluss-Situation **
The Unarchiver https://itunes.apple.com/jp/app/the-unarchiver/id425424353?mt=12 Installieren Sie dies auf ** Mac ** Klicken Sie mit der rechten Maustaste auf ** zip ** und wählen Sie diese App aus, um sie zu erweitern. (Einige der ähnlichen Apps sind zu ** Matroschka ** geworden, daher werde ich diejenige veröffentlichen, die funktioniert hat.)
Es befindet sich im nächsten erweiterten Ordner classes.dex ** Generiere eine JAR-Datei ** aus der Datei Wie macht man
dex2jar https://sourceforge.net/projects/dex2jar/ Laden Sie das Ding herunter (** dex2jar-2.0.zip **) ** In denselben Ordner extrahieren, in dem sich der Ordner befindet, in den Sie die App extrahiert haben ** (Dieser Reißverschluss ist ** doppelt geklickt **, wird aber nicht zu Matroschka und wird normal erweitert **) Diesmal hat Nagao einen Ordner namens Rivaen für die Arbeit erstellt ** Ich habe den ** Ordner, in dem die App erweitert wurde ** und den ** dex2jar-2.0 Ordner ** in den ** Rivaen Ordner ** gelegt Das ist
damit
$ cd Rivaen
(Gehe zum Rivaen-Verzeichnis)
Drücken Sie den folgenden Befehl
$ cd dex2jar-2.0/
$ chmod +x *
$ cd ..
$ dex2jar-2.0/d2j-dex2jar.sh sample-app/classes.dex
↑ Hast du Nani gemacht?
classes-dex2jar.jar Eine ** JAR-Datei ** wird erstellt!
Auf geht's! Nachdem ich hier angekommen bin
JD-GUI http://jd.benow.ca/ ** Installieren Sie die App auf Ihrem Mac ** Wenn Sie mit der rechten Maustaste auf die gerade erstellte ** JAR-Datei klicken ** und sie mit dieser App öffnen Sie sollten endlich den ** Java-Quellcode ** sehen können!
(2018/7/17 stürzte immer noch auf High Sierra ab) Wenn Sie es sicher sehen können, ist es vorbei. Dieser Absturz scheint auf ** Sierra ** & ** HighSierra ** zu passieren Um ehrlich zu sein, dachte ich, es sei ** das Ende des Spiels ** Was ist eine App zum Entschlüsseln von Klassendateien? ** Ich kann nichts anderes als JD-GUI finden ** (T_T) Aber dieses mal ** Warum macht Nagao überhaupt Rivaen **? ** Weil ich den wichtigen Quellcode der auf Google Play veröffentlichten App verloren habe ** Damit
Ich weiß nicht warum es vorbei ist Ich habe keine andere Wahl, als etwas dagegen zu unternehmen
Auf der Seite habe ich nach einer Lösung gesucht ** Wenn Sie die JD-GUI selbst auf Github erstellen, ist das cool! ** ** ** Es war
Machen wir das
Sie können es in jedem Verzeichnis tun
An einem Ort, der vorerst leicht zu verstehen ist
$ cd Rivaen
(In das Rivaen-Verzeichnis wechseln)
** Befehl zum Erstellen der JD-GUI selbst **
$ git clone https://github.com/java-decompiler/jd-gui.git
$ cd jd-gui
$ ./gradlew installOsxDist
↑ Hast du Nani gemacht?
Jetzt!
Wenn Sie die zuvor erstellte JAR-Datei endgültig öffnen, klicken Sie mit der rechten Maustaste auf diese
**Ich sah es! ** ** ** (Dies ist übrigens der Originalcode in Kotlin)
[1] ist vorbei ** Danke für Ihre Unterstützung! !! ** ** **
Bewahren Sie den Quellcode der App an einem sicheren Ort auf, um ihn nicht zu verlieren
** Morgen ist endlich Weihnachten ist die letzte Person, die @Nkzn dekoriert! ** ** **
Recommended Posts