Etant un linuxien patenté, mon premier réflexe face une question relative à du matériel ou à du logiciel est assez simple: rtfm. Ce qui signifie: lire le put*** de manuel. Seulement voilà : la manuel n’était pas fourni avec mon téléphone. N’ayant pas (encore!) d’accès shell sur mon Samsnung Galaxy S3 (aka SGS3), je n’ai pas pu faire un man quelque chose. Je doute de toute façon de pouvoir trouver, par exemple, une énumération des gestures par exemple.
J’ai donc fini par trouver un manuel. Je cherchai quelque chose de beaucoup plus technique, en particulier au niveau logiciel. Un vrai détail de ce que sont les procédures de boot par exemple. Un manuel technique, je le cherche encore. Je finirai bien par trouver
Concernant le manuel de l’utilisateur, il y a beaucoup de choses très intéressantes. Je me demande pourquoi je n’avais pas cherché plutôt ce type de manuel pour l’iPhone ou l’iPad. Le chapitre « Getting Started » est plein de ces petits tips qu’on découvre un peu au hasard si on ne lit pas le manuel dès le début. Comme ceci par exemple.
C’est aussi le moment de lire les chapitres type « Camera » pour apprendre à (bien!) se servir de l’appareil photo ou encore « Settings » qui permet de faire le tour de toutes les options. Pour savoir comment rapidement, par exemple, modifier le timeout de l’écran avant qu’il se mette en veille.
Bref même si je n’ai pas trouvé les détails techniques que je cherchais, j’ai tout de même après plein de choses fort utiles pour utiliser mon téléphone tel qu’il est.
Mais je voudrais vraiment voir de plus près les entrailles de ce téléphone. Après tout, j’ai choisi un Android _aussi_ pour pouvoir appréhender de façon plus complète et ouverte la bête que i0S qui est fermé comme une huître. L’idéal m’a semblé être d’installer le SDK. Visiblement, d’après un article page 49 de MISC de ce mois ci, c’est un must-have pour faire du pentest d’Android. Je ne cherche pas à pentester Android. Par contre j’aimerai bien avoir une vue plus synthétique de la façon dont ça fonctionne en général et surtout sur mon Samsung en particulier.
J’ai donc entrepris d’installer le SDK, sous Arch Linux, c’est très simple puisque tout le nécessaire se trouve dans AUR. Mon téléphone semble détecté:
Bus 001 Device 006: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1]
Mais en fait non: adb devices ne me renvoie pas de périphérique. C’est alors que j’ai appris que l’activation USB du périphérique était possible. En clair: on peut utiliser le téléphone par USB. Mais pas par défaut (cf premier post). Pour cela il suffit d’aller dans « Paramètres => Options de développement ==> débogage USB ». Un pop-up vous indique que votre périphérique va être monté comme un périphérique de stockage et que cela ne doit être utilisé qu’à des fins de développement. En effet:
List of devices attached
4df1... device
Alors ADB c’est quoi? Eh bien c’est le Android Debug Bridge dont la page nous dit:
« Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device. It is a client-server program that includes three components (…) » ce qui signifie: « Android Debug Bridge est un utilitaire en ligne de commande polyvalent qui vous permet de communiquer avec une plateforme Android émulée ou un périphérique Android connecté. C’est un programme client-serveur composé de 3 éléments (…) »
Bien, alors comment avoir un shell sur mon téléphone? Ce qui a quand même motivé cet article en premier lieu!! C’est simple:
shell@android:/ $
Bon, par contre, on gardera le pdf niveau manuel :
/system/bin/sh: man: not found
Pour le reste c’est du grand classique:
drwxr-xr-x root root 2012-09-26 18:46 acct
drwxrwx--- system cache 2012-09-27 14:00 cache
dr-x------ root root 2012-09-26 18:46 config
lrwxrwxrwx root root 2012-09-26 18:46 d -> /sys/kernel/debug
drwxrwx--x system system 2012-09-26 18:46 data
-rw-r--r-- root root 116 1970-01-01 01:00 default.prop
drwxr-xr-x root root 2012-09-26 18:46 dev
drwxrwx--x radio system 2012-06-25 16:35 efs
lrwxrwxrwx root root 2012-09-26 18:46 etc -> /system/etc
lrwxrwxrwx root root 2012-09-26 18:46 factory -> /efs
-rwxr-x--- root root 152288 1970-01-01 01:00 init
-rwxr-x--- root root 3612 1970-01-01 01:00 init.bt.rc
-rwxr-x--- root root 2344 1970-01-01 01:00 init.goldfish.rc
-rwxr-x--- root root 40154 1970-01-01 01:00 init.rc
-rwxr-x--- root root 2751 1970-01-01 01:00 init.smdk4x12.rc
-rwxr-x--- root root 4359 1970-01-01 01:00 init.smdk4x12.usb.rc
drwxr-xr-x root root 1970-01-01 01:00 lib
-rw-r--r-- root root 1619 1970-01-01 01:00 lpm.rc
drwxrwxr-x root system 2012-09-26 18:46 mnt
drwxr-xr-x root root 1970-01-01 01:00 preload
dr-xr-xr-x root root 1970-01-01 01:00 proc
drwx------ root root 2012-06-25 17:29 root
drwxr-x--- root root 1970-01-01 01:00 sbin
lrwxrwxrwx root root 2012-09-26 18:46 sdcard -> /mnt/sdcard
drwxr-xr-x root root 2012-09-26 18:46 sys
drwxr-xr-x root root 2012-09-26 18:46 system
-rw-r--r-- root root 272 1970-01-01 01:00 ueventd.goldfish.rc
-rw-r--r-- root root 3873 1970-01-01 01:00 ueventd.rc
-rw-r--r-- root root 1666 1970-01-01 01:00 ueventd.smdk4x12.rc
lrwxrwxrwx root root 2012-09-26 18:46 vendor -> /system/vendor
N’étant pas (encore!) root, je n’ai finalement pas le droit de faire grand chose…Et il y a énormément de commandes de base qui ne sont pas présentes: less, cut, groups, find etc… « Command not found ». C’est sacrément frustrant d’ailleurs…
Je sens que je vais bien m’amuser avec ce téléphone, je sais pas pourquoi mais je sens que je vais vraiment bien m’amuser…une fois root