* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au [repo hacktricks](https://github.com/carlospolop/hacktricks) et au [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
**Astuce de chasse aux bugs** : **inscrivez-vous** à **Intigriti**, une plateforme de **chasse aux bugs premium créée par des pirates, pour des pirates** ! Rejoignez-nous sur [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) dès aujourd'hui et commencez à gagner des primes allant jusqu'à **100 000 $** !
**Téléchargez et installez** le **serveur frida** sur l'Android ([Téléchargez la dernière version](https://github.com/frida/frida/releases)).\
Une ligne de commande pour redémarrer adb en mode root, se connecter à celui-ci, télécharger frida-server, donner les permissions d'exécution et l'exécuter en arrière-plan :
Dans cet exemple, nous allons voir comment utiliser Frida pour intercepter les appels à la méthode `exit()` de Java et les remplacer par notre propre implémentation.
# Hook de `.onStart()` et `.onCreate()` de MainActivity
Dans ce tutoriel, nous allons voir comment utiliser Frida pour hooker les méthodes `.onStart()` et `.onCreate()` de la classe MainActivity d'une application Android.
## Étape 1: Installer Frida sur l'appareil Android
Pour installer Frida sur l'appareil Android, vous pouvez suivre les instructions fournies dans le [tutoriel d'installation de Frida](https://www.frida.re/docs/android/).
Ce script hookera les méthodes `.onStart()` et `.onCreate()` de la classe MainActivity.
## Étape 4: Exécuter le script Frida
Exécutez le script Frida en utilisant la commande suivante:
```bash
frida -U -f com.example.app -l hook.js --no-pause
```
Assurez-vous de remplacer `com.example.app` par le nom de votre application.
## Étape 5: Vérifier la sortie
Ouvrez la console et vérifiez la sortie. Vous devriez voir les messages `onCreate() hooked` et `onStart() hooked` s'afficher lorsque les méthodes correspondantes sont appelées.
C'est tout! Vous avez maintenant hooké les méthodes `.onStart()` et `.onCreate()` de la classe MainActivity de votre application Android en utilisant Frida.
Frida est un outil puissant pour l'analyse dynamique des applications. L'un des cas d'utilisation les plus courants consiste à accrocher des méthodes spécifiques de l'application pour intercepter et manipuler les données en temps réel.
Dans ce tutoriel, nous allons voir comment accrocher la méthode `.onCreate()` d'une application Android à l'aide de Frida.
## Étape 1 - Prérequis
Assurez-vous d'avoir installé Frida sur votre machine. Si ce n'est pas le cas, vous pouvez suivre les instructions d'installation à partir du site officiel de Frida.
## Étape 2 - Démarrer l'application
Tout d'abord, nous devons démarrer l'application que nous voulons analyser. Vous pouvez utiliser n'importe quelle application Android pour cet exemple.
## Étape 3 - Écrire le script Frida
Maintenant, nous allons écrire un script Frida pour accrocher la méthode `.onCreate()` de l'application. Ouvrez votre éditeur de texte préféré et créez un nouveau fichier avec le nom `hook_oncreate.js`. Copiez et collez le code suivant dans le fichier :
```javascript
Java.perform(function () {
var MainActivity = Java.use('com.example.app.MainActivity');
MainActivity.onCreate.implementation = function () {
console.log('[+] onCreate() called');
this.onCreate();
};
});
```
Ce script utilise la fonction `Java.use()` pour charger la classe `MainActivity` de l'application. Ensuite, il accroche la méthode `.onCreate()` en remplaçant son implémentation par une nouvelle fonction qui affiche un message dans la console et appelle la méthode originale.
## Étape 4 - Exécuter le script Frida
Maintenant, nous pouvons exécuter le script Frida en utilisant la commande suivante :
Assurez-vous de remplacer `com.example.app` par le nom de l'application que vous voulez analyser.
## Étape 5 - Vérifier la sortie
Si tout s'est bien passé, vous devriez voir le message `[+] onCreate() called` s'afficher dans la console chaque fois que la méthode `.onCreate()` est appelée dans l'application.
Dans ce tutoriel, nous avons vu comment accrocher la méthode `.onCreate()` d'une application Android à l'aide de Frida. Cela peut être utile pour intercepter et manipuler les données en temps réel dans une application.
Accrocher une fonction de décryptage. Imprimer l'entrée, appeler la fonction originale pour décrypter l'entrée et enfin, imprimer les données en clair:
Accrochez une fonction qui reçoit une chaîne de caractères et appelez-la avec une autre chaîne de caractères (à partir de [ici](https://11x256.github.io/Frida-hooking-android-part-2/))
Dans cet exemple, vous allez voir comment obtenir l'objet de la classe my_activity et comment appeler la fonction .secret() qui affichera un attribut privé de l'objet :
**Astuce de prime de bug**: **inscrivez-vous** à **Intigriti**, une plateforme de prime de bug premium créée par des hackers, pour les hackers! Rejoignez-nous sur [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) aujourd'hui et commencez à gagner des primes allant jusqu'à **100 000 $**!
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au [repo hacktricks](https://github.com/carlospolop/hacktricks) et au [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.