#1 Le 11/03/2023, à 16:40
- Nuliel
[Résolu] émulateur android (qui marche)
Bonjour,
J'aimerais apprendre à utiliser un outil (frida avec fridalab) qui permet de faire du debug dynamique d'appli android. J'aimerais donc pouvoir avoir un émulateur auquel j'irai me connecter avec adb.
Je le fais sur mon pc fixe avec ubuntu 20.04 et une carte graphique nvidia (pour pas pourrir le stockage de mon pc portable).
J'ai à ma connaissance 2 choix: android studio et genymotion.
J'ai essayé genymotion, j'ai pu lancer 2 fois l'émulateur, après ça ne marchait plus. A noter que adb (il vient des dépôts de la 20.04) plante lamentablement lorsque l'émulateur de genymotion est lancé:
nuliel@nuliel-ThinkStation-E32:~$ adb devices
List of devices attached
adb server version (41) doesn't match this client (39); killing...
ADB server didn't ACK
Full server startup log: /tmp/adb.1000.log
Server had pid: 4760
--- adb starting (pid 4760) ---
adb I 03-11 15:31:59 4760 4760 main.cpp:57] Android Debug Bridge version 1.0.39
adb I 03-11 15:31:59 4760 4760 main.cpp:57] Version 1:8.1.0+r23-5ubuntu2
adb I 03-11 15:31:59 4760 4760 main.cpp:57] Installed as /usr/lib/android-sdk/platform-tools/adb
adb I 03-11 15:31:59 4760 4760 main.cpp:57]
adb I 03-11 15:31:59 4760 4760 adb_auth_host.cpp:416] adb_auth_init...
adb I 03-11 15:31:59 4760 4760 adb_auth_host.cpp:174] read_key_file '/home/nuliel/.android/adbkey'...
adb I 03-11 15:31:59 4760 4760 adb_auth_host.cpp:391] adb_auth_inotify_init...
adb server killed by remote request
* failed to start daemon
error: cannot connect to daemon
Donc je suis allé voir du côté d'android studio en espérant que ça marche mieux: j'ai téléchargé et installé android studio depuis le site officiel, installé le SDK, le NDK, un émulateur en x86 (le premier téléphone de la liste, un google pixel), et je n'ai même pas pu lancer l'émulateur, j'ai une fenêtre noire ridiculement petite pour l'émulateur et un warning lié à vulkan dans mon terminal.
Bref à l'aide!
Dernière modification par Nuliel (Le 11/03/2023, à 18:32)
Hors ligne
#2 Le 11/03/2023, à 17:10
- Compte supprimé
Re : [Résolu] émulateur android (qui marche)
Bonjour,
Tu élimines Waydroid ?
#3 Le 11/03/2023, à 17:11
- beuguissime
Re : [Résolu] émulateur android (qui marche)
Salut,
Je ne vais pas pouvoir trop t'aider car j'ai simplement fait un test une seule fois par curiosité (et ça n'est pas récent) mais je te confirme que j'ai réussi à démarrer une image Android avec Android Studio et à y faire tourner frida (après un adb push qui va bien).
Tu lances bien ton système virtuel avec une commande du genre ?
./emulator -avd Mon_Pixel_XL
Hors ligne
#4 Le 11/03/2023, à 17:20
- Nuliel
Re : [Résolu] émulateur android (qui marche)
Merci à vous deux pour vos réponses.
@Tamarou: Je ne connaissais pas waydroid, mais vu qu'il s'agit de conteneurs, le noyau doit être partagé, et je préfère avoir un système complet émulé (c'est possible que je regarde le fonctionnement de malwares android plus tard, donc c'est important que ce soit bien séparé, que ce soit basé sur qemu-system ou virtualbox)
@beuguissime: j'avais déjà fait le test d'android studio sur mon pc portable il y a quelques années (c'était pas pour frida) et ça marchait bien, mais là non
Je n'ai pas de commande emulator, je le lance comme cela:
nuliel@nuliel-ThinkStation-E32:~/android-studio/bin$ ./studio.sh
et j'ai une fenêtre qui me permet de choisir avd (android virtual device)
Lorsque je démarre l'émulateur, j'ai une barre de progression avec starting emulator, puis une fois rempli, j'ai soit rien, soit une petite fenêtre noire correspondant à l'émulateur (sur le dernier test j'ai rien)
Dernière modification par Nuliel (Le 11/03/2023, à 17:22)
Hors ligne
#5 Le 11/03/2023, à 17:29
- beuguissime
Re : [Résolu] émulateur android (qui marche)
Alors, j'avais bien utilisé ./studio.sh pour lancer la suite une première fois et créer l'appareil virtuel. Ensuite, je vois dans les quelques notes qu'il me reste que je lance l'appareil avec './emulator -avd' qui se trouve dans un dossier 'emulator'. Ce dossier 'emulator' se trouve à la même racine que le dossier 'platform-tools' qui contient l'exécutable 'adb' (toujours si j'en crois mes notes).
J'avais bricolé l'installation donc l'emplacement du dossier parent de ces dossiers 'emulator' et 'platform-tools' n'était sans doute pas standard chez moi. Par contre, ils avaient bien « naturellement » le même dossier parent.
Avec
./emulator -list-avds
j'affiche les appareils virtuels créés qui se trouvent en fait dans ~/.android/avd en cas d'installation standard.
Hors ligne
#6 Le 11/03/2023, à 17:41
- Nuliel
Re : [Résolu] émulateur android (qui marche)
Je n'ai pas de platform-tools vu que j'ai installé adb depuis les dépôts d'ubuntu 20.04. Je n'ai pas trouvé emulator par contre j'ai réussi à faire fonctionner l'émulateur d'android studio comme celui de genymotion après avoir mis à jour le pilote nvidia (je suis passé du 470 au 525). Je vais faire quelques tests pour vérifier que les émulateurs fonctionnent bien, et que adb fonctionne bien (ce qui n'a pas l'air d'être le cas pour l'instant)
Hors ligne
#7 Le 11/03/2023, à 17:55
- beuguissime
Re : [Résolu] émulateur android (qui marche)
Ah oui, d'accord, pardon, j'avais déjà zappé l'info que tu donnais dans le 1er message. J'ai installé manuellement la suite après avoir téléchargé les outils d'installation.
C'était un problème de pilote de carte graphique, alors? Intéressant.
Hors ligne
#8 Le 11/03/2023, à 18:08
- Nuliel
Re : [Résolu] émulateur android (qui marche)
Alors il n'y a peut-être pas que le pilote nvidia en cause: j'ai fait des tests, et visiblement le adb venant du sdk d'android fonctionne avec genymotion. J'ai aussi trouvé le programme "emulator" et platform-tools, je ne cherchais pas dans le bon dossier. Donc je pense que la version adb des dépôts est peut-être un peu ancienne. Ça a l'air de bien démarrer avec android studio, par contre genymotion je n'arrive pas à aller plus loin que le logo android sur le téléphone, donc ça démarre mais pas complètement...
Je continue les tests pour genymotion (il paraît qu'on a un shell root avec genymotion, si je peux avoir ça ce serait l'idéal)
Dernière modification par Nuliel (Le 11/03/2023, à 18:08)
Hors ligne
#9 Le 11/03/2023, à 18:14
- beuguissime
Re : [Résolu] émulateur android (qui marche)
J'avais un shell root avec Android studio.
Une fois l'appareil virtuel démarré. Un
adb shell
pour se connecter
puis un
su -
pour passer en root dans le shell d'adb.
Si on parle du "même" shell...
Dernière modification par beuguissime (Le 11/03/2023, à 18:14)
Hors ligne
#10 Le 11/03/2023, à 18:32
- Nuliel
Re : [Résolu] émulateur android (qui marche)
Oui oui, on parle du même shell!
Ah cool, je suis root sur mon téléphone émulé par android studio, je croyais que c'était plus compliqué. Impeccable, j'ai tout ce qu'il faut pour utiliser frida.
Merci! Je passe en résolu, et je vire genymotion de mon pc
Dernière modification par Nuliel (Le 11/03/2023, à 18:33)
Hors ligne