Patch APK

Patch avec objection un APK

Objectif : Présenter les différentes étape pour mener a bien le patch de votre apk afin d'utiliser frida sur un appareil non rooté. Ce tutoriel vous permettra de résoudre tous les problèmes qui peuvent survenir lorsqu'on souhaite patch avec Objection.

Etape 1 : Désintallation de l'outils apktool

Lorsque vous utilisez le gestionnaire de packet apt pour installer apktool, vous utilisez une version qui va rentrer en conflit avec objection. Effectivement, si vous faite :

apktool --version
2.5.1-dirty # Exemple 

Cette version dirty d'apktool génère de nombreuse erreur au lancement de la commande patchapk de objection. Il est nécessaire de desintaller cette version et d'installer la dernière version depuis le site officiel de apktool.

sudo apt-get purge apktool 

Etape 2 : Installation d'apktool

Pour installer apktool rendez vous sur ce site et suivez les instructions :

https://apktool.org/docs/install

Etape 3 : Installation de zipalgin

Installez Zipalign qui vous permettra de signer votre apk

sudo apt-get install zipalign 

Etape 4 : Patch avec objection

Ainsi après avoir installer nos différent outils, il ne reste plus qu'a patcher avec objection mais de nombreux argument doit être ajouté à la commande pour que tout fonctionne.

Première commande :

objection patchapk -s nom_apk.apk --use-aapt2 

L'argument aapt2 est très important car par défaut apktool utilise aapt qui génére de nombreuse erreur avec les apk les plus récents. Il faut donc bien spécifier ce paramètre sinon vous aurez cette erreur :

Deuxième commande :

Si la première n'a pas fonctionné et vous renvoie cette erreur :

Cela veut dire qu'il n'a pas trouvé de MainActivity

Il vous suffit d'ouvrir votre AndroidManifest.xml et ctrl+f android:name et de récupérer le nom d'une classe spécifié (dans une balise application) :

Vous récupérer le nom de cette classe et faite la commande suivante :

objection patchapk -s nom_app.apk --use-aapt2 --target-class com.exemple
# Le com.exemple c'est pour l'exemple ^^

Troisième commande

Si les deux commande précedente n'ont pas fonctionné et que vous avez cette erreur :

Voici la commande pour résoudre cela :

objection patchapk -s nom_app.apk --use-aapt2 --skip-resources --ignore-nativelibs

Annexe :

  • https://github.com/sensepost/objection/wiki/Android-APK-Patching

Last updated