So kehren Sie die Kompilierung der Apk-Datei in Java-Quellcode mit MAC um

Wenn Sie aufgrund eines CTF-Rev-Problems eine APK-Datei erhalten, müssen Sie die Kompilierung in Java-Quellcode rückgängig machen.

Verwenden Sie "dex2jar" und "jad".

Der Fluss ist .apk-> .dex-> .jar-> .class-> .jad.

Sie können den Quellcode für "Java" anzeigen, indem Sie die ".jad" -Datei öffnen.

Referenz:

https://qiita.com/le_skamba/items/04c0a0cfe420be862122

https://hacknote.jp/archives/10259/

http://inarizuuuushi.hatenablog.com/entry/2017/05/09/231600

0. Installation von dex2jar, jad

dex2jar

Verwenden Sie Gebräu.

Sie müssen den Weg gehen.

brew install dex2jar

echo 'export PATH="$PATH:/usr/local/Cellar/dex2jar/2.0/bin"' >> ~/.bash_profile
source ~/.bash_profile

jad

Verwenden Sie ein Brühfass.

brew tap caskroom/cask
brew install caskroom/cask/jad
  1. apk -> dex
unzip hoge.apk
  1. dex -> jar
d2j-dex2jar hoge.dex
  1. jar -> class
jar xf hoge.jar 
  1. class -> jad
jad -r path/hoge.class 

Recommended Posts

So kehren Sie die Kompilierung der Apk-Datei in Java-Quellcode mit MAC um
So deinstallieren Sie Java 8 (Mac)
So erstellen Sie eine Java-Entwicklungsumgebung mit VS Code
Erstellen Sie Java mit Mac vs Code
So dekompilieren Sie eine Java-Klassendatei
So wechseln Sie die Java-Version mit direnv im Terminal auf dem Mac
So öffnen Sie eine Skriptdatei von Ubuntu mit VS-Code
So überprüfen Sie, ob Java auf einem Mac installiert ist
[Java] Verwendung der File-Klasse
So kompilieren Sie Java mit VsCode & Ant
[Java] Fassen Sie zusammen, wie Sie mit der Methode equals vergleichen können
So wechseln Sie Java-Versionen auf dem Mac
So erreichen Sie den Dateidownload mit Feign
[Java] Fluss vom Quellcode zur Ausführung
So erreichen Sie das Hochladen von Dateien mit Feign
Generieren Sie den Quellcode aus der JAR-Datei mit der JD-GUI des Java Decompiler-Projekts
Verwendung des Java-Frameworks mit AWS Lambda! ??
Verwendung der Java-API mit Lambda-Ausdrücken
So schreiben Sie Testcode mit Basic-Zertifizierung
[Java] Memo zum Schreiben der Quelle
Java (geteilte Quelldatei)
[Java] So erhalten Sie die URL der Übergangsquelle
So implementieren Sie UICollectionView mit Code nur in Swift
Erstellen Sie eine Java-Entwicklungsumgebung mit VS Code auf dem Mac
So springen Sie von Eclipse Java zu einer SQL-Datei
[Java] So lassen Sie die Federkonstruktorinjektion mit Lombok weg
So stellen Sie Java mit Serverless Framework für AWS Lambda bereit
So führen Sie mit RxAndroid einen Komponententest mit JVM an einer Quelle durch
[Java] So extrahieren Sie den Dateinamen aus dem Pfad
[Java] Verschlüsselung mit AES-Verschlüsselung mit Standardbibliothek
Stand April 2018 So installieren Sie Java 8 auf einem Mac
So konvertieren Sie eine Datei in ein Byte-Array in Java
So installieren Sie Gradle und Kotlin mit SDKMAN (Mac)
[Java] So unterbrechen Sie eine Zeile mit StringBuilder
Speichern von Dateien mit der angegebenen Erweiterung unter dem in Java angegebenen Verzeichnis in der Liste
So fordern Sie mit jMeter eine CSV-Datei als JSON an
So lesen Sie Ihre eigene YAML-Datei (*****. Yml) in Java
So senken Sie die Java-Version
[Java] Verwendung von Map
Wie man guten Code schreibt
Verwendung des mit Tensorflow 2.0 trainierten Modells mit Kotlin / Java
Java zum Spielen mit Function
Java - So erstellen Sie JTable
So behandeln Sie Ausnahmen mit Java 8 Stream oder Optional kühl
Verwendung von Java Optional
So minimieren Sie Java-Images
Wie schreibe ich einen Java-Kommentar
Verwendung der Java-Klasse
[Einfach] So formatieren Sie Ruby erb-Dateien automatisch mit vsCode
[Java] Verwendung von removeAll ()
[Java] So zeigen Sie Wingdings an
So laden Sie eine Bibliothek aus einer JAR-Datei mit VSCode << So verwenden Sie Maven / Gradle nicht >>
Wie man mit html.erb nummeriert (nummeriert)
Verwendung von Java Map
So aktualisieren Sie mit activerecord-import
So legen Sie Java-Konstanten fest