Comment inverser la compilation du fichier apk en code source Java avec MAC

Si vous recevez un fichier apk en raison d'un problème de révision CTF, vous devez effectuer une compilation inverse en code source Java.

Utilisez dex2jar et jad.

Le flux est .apk-> .dex-> .jar-> .class-> .jad.

Vous pouvez voir le code source de java en ouvrant le fichier .jad.

référence:

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

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

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

0. Installation de dex2jar, jad

dex2jar

Utilisez une infusion.

Vous devez suivre le chemin.

brew install dex2jar

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

jad

Utilisez un fût de bière.

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

Comment inverser la compilation du fichier apk en code source Java avec MAC
Comment désinstaller Java 8 (Mac)
Comment créer un environnement de développement Java avec VS Code
Construire Java avec Mac vs Code
Comment décompiler un fichier de classe Java
Comment changer de version Java avec direnv dans le terminal sur Mac
Comment ouvrir un fichier de script à partir d'Ubuntu avec du code VS
Comment vérifier Java installé sur Mac
[Java] Comment utiliser la classe File
Comment compiler Java avec VsCode & Ant
[Java] Résumez comment comparer avec la méthode equals
Comment changer de version de Java sur Mac
Comment réaliser le téléchargement de fichiers avec Feign
[Java] Flux du code source à l'exécution
Comment réaliser le téléchargement de fichiers avec Feign
Générer le code source à partir du fichier JAR avec JD-GUI du projet Java Decompiler
Comment utiliser le framework Java avec AWS Lambda! ??
Comment utiliser l'API Java avec des expressions lambda
Comment écrire du code de test avec la certification de base
[Java] Mémo sur la façon d'écrire la source
java (fichier source fractionné)
[Java] Comment obtenir l'URL de la source de transition
Comment implémenter UICollectionView avec du code uniquement dans Swift
Créer un environnement de développement Java avec VS Code sur Mac
Comment passer d'Eclipse Java à un fichier SQL
[Java] Comment omettre l'injection de constructeur de ressort avec Lombok
Comment déployer Java sur AWS Lambda avec Serverless Framework
Comment faire un test unitaire avec JVM sur une source à l'aide de RxAndroid
[Java] Comment extraire le nom du fichier du chemin
[Java] Comment chiffrer avec le chiffrement AES avec une bibliothèque standard
À partir d'avril 2018 Comment installer Java 8 sur Mac
Comment convertir un fichier en tableau d'octets en Java
Comment installer Gradle et Kotlin avec SDKMAN (Mac)
[Java] Comment rompre une ligne avec StringBuilder
Comment enregistrer des fichiers avec l'extension spécifiée sous le répertoire spécifié en Java dans la liste
Comment demander un fichier CSV au format JSON avec jMeter
Comment lire votre propre fichier YAML (*****. Yml) en Java
Comment abaisser la version java
[Java] Comment utiliser Map
Comment écrire du bon code
Comment utiliser le modèle entraîné Tensorflow 2.0 avec Kotlin / Java
Java pour jouer avec Function
Java - Comment créer JTable
Comment gérer les exceptions froidement avec Java 8 Stream ou en option
Comment utiliser java Facultatif
Comment réduire les images Java
Comment rédiger un commentaire java
Comment utiliser la classe Java
[Facile] Comment formater automatiquement les fichiers Ruby erb avec vsCode
[Java] Comment utiliser removeAll ()
[Java] Comment afficher les Wingdings
Comment charger une bibliothèque à partir d'un fichier JAR avec VSCode << Comment ne pas utiliser Maven / Gradle >>
Comment numéroter (nombre) avec html.erb
Comment utiliser Java Map
Comment mettre à jour avec activerecord-import
Comment définir des constantes Java