Vorwort
Manchmal werden Sie während des Entwicklungsprozesses auf einige Funktionen stoßen, von denen Sie nicht wissen, wie man sie macht. Zu diesem Zeitpunkt können Sie sie jedoch durch Dekompilierung freischalten Funktionen des Programms, um einige seiner Praktiken zu verstehen. Gleichzeitig können Sie auch von den Softwarestrukturen, Ressourcendateien usw. lernen, haha. Dann werde ich einige Kenntnisse über die Dekompilierung erläutern, die hauptsächlich in drei Teile unterteilt sind. Der erste Teil stellt die Tools und Methoden der Dekompilierung vor, der zweite Teil stellt die Syntax von Smali vor und der dritte Teil stellt vor, wie man die Dekompilierung verhindert, hauptsächlich durch einige In diesen Artikeln erfahren Sie, wie Sie Dekompilierung und Codeverstärkung durchführen.
Tools
apktools – derzeit das leistungsstärkste Dekompilierungstool
Dekompilieren Sie APK ganz einfach, analysieren Sie Ressourcendateien und XML-Dateien, generieren Sie Smali-Dateien und ändern Sie sie nach der von Ihnen erstellten Datei Ich möchte eine APK generieren.
Unterstützt Windows, Linux, Mac.
Download-Adresse: https://code.google.com/p/android-apktool/downloads/list Bitte bringen Sie Ihre eigene Leiter mit
dex2jar
Legen Sie den Dex ein Die apk-Datei wird in eine JAR-Datei konvertiert. Viele Leute wissen nicht, wie man Smal-Dateien liest, und können sich die Java-Klassendateien jetzt besser ansehen. Es unterstützt auch Windows. Linux und Mac.
Download-Adresse: http://code.google.com/p/dex2jar/downloads/list
jd-gui
Sehen Sie sich die JAR-Datei an, Sie können sie grundsätzlich sehen Java-Klassendatei, es unterstützt auch Mac, Windows und Linux.
Download-Adresse: http://jd.benow.ca/
apktools umfassende Befehlszeilen-Tool-Empfehlung apktool plus
ist eigentlich ein von anderen geschriebenes Tool, zusammengestellt Die Funktion von apktool unterstützt auch das Signieren von APK. Die neueste Version ist v9update6, die nur Windows-Systeme unterstützt.
Download-Adresse: http://dl.dbank.com/c0jndlkbu4#
Dekompilieren
Apktools verwenden
Führen Sie im Verzeichnis apktools den folgenden Befehl aus
./apktool d pathtoapk outdir #mac linux
apktool.bat d pathtoapk outdir #window
Auf diese Weise kann die Dekompilierung erfolgreich sein und Sie können die Ressourcendateien und anzeigen smali-Dateien Natürlich wurden einige Apps einer speziellen Verarbeitung unterzogen und nicht alle können dekompiliert werden.
Gleichzeitig kann apktool die dekompilierte Datei auch in eine APK-Datei mit dem folgenden Format umwandeln.
./apktool b apppath outpath
Wenn die umgekehrte Datei nicht signiert ist, muss sie signiert werden, bevor sie installiert werden kann.
Verwenden Sie dex2jar
Die APK-Datei selbst ist eigentlich ein ZIP-komprimiertes Paket. Lassen Sie uns zunächst die APK in eine ZIP-Datei umwandeln und sie dekomprimieren, um eine Classes.dex zu erhalten. Gehen Sie in das Verzeichnis von dex2jar und führen Sie den folgenden Befehl aus.
./d2j-dex2jar.sh pathtoclasses.dex #mac linux
d2j-dex2jar.bat pathtoclasses.dex #wind
wird generiert, nachdem Sie eine JAR-Datei mit jd-gui geöffnet haben, können Sie den darin enthaltenen Java-Code sehen.
Andere
Tatsächlich reicht die von uns verwendete Dekompilierung nicht aus. Schließlich haben die Leute Maßnahmen, um damit umzugehen.