Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
atelier:chantier:dump-et-backup-d-un-appareil-android-avec-debian-et-ses-derives2 [14/06/2016 23:55] MicP [Préparation carte SD] ortho |
atelier:chantier:dump-et-backup-d-un-appareil-android-avec-debian-et-ses-derives2 [15/06/2016 00:16] MicP [Signature de l'archive zip] ortho |
||
---|---|---|---|
Ligne 289: | Ligne 289: | ||
===== Extraction des partitions ===== | ===== Extraction des partitions ===== | ||
- | Maintenant que tout est prêt nous allons pouvoir extraire les partition de notre appareil et par la même occasions les copiées sur notre ordinateur afin de créer une archive zip mais ça c'est pour maintenant.\\ | + | Maintenant que tout est prêt nous allons pouvoir extraire les partitions de notre appareil et par la même occasion les copier sur notre ordinateur afin de créer une archive zip mais ça c'est pour maintenant.\\ |
Pour cela nous allons utiliser la commande dd qui permet de copier une image disque à l'identique. | Pour cela nous allons utiliser la commande dd qui permet de copier une image disque à l'identique. | ||
Ligne 297: | Ligne 297: | ||
et de la commande adb pull qui permet de copier un fichier ou un dossier de notre carte SD vers notre ordinateur. | et de la commande adb pull qui permet de copier un fichier ou un dossier de notre carte SD vers notre ordinateur. | ||
- | <code>adb pull /sdcard/nom_du_dossier /home/$USER/nom_du_dossier</code> | + | <code>adb pull /sdcard/nom_du_dossier $HOME/nom_du_dossier</code> |
Vérifions d'abord que notre appareil est reconnu si le terminal est déjà ouvert, fermons le et réouvrons le. | Vérifions d'abord que notre appareil est reconnu si le terminal est déjà ouvert, fermons le et réouvrons le. | ||
Ligne 303: | Ligne 303: | ||
<code user>adb devices</code> | <code user>adb devices</code> | ||
- | Le résultat devrai ressembler à ça (le code HT05BPLXX5058 peut-être différent chez vous, c'est juste un exemple) | + | Le résultat devrait ressembler à ça (le code HT05BPLXX5058 peut-être différent chez vous, c'est juste un exemple) |
<code>List of devices attached | <code>List of devices attached | ||
HT05BPLXX5058 device</code> | HT05BPLXX5058 device</code> | ||
Ligne 311: | Ligne 311: | ||
Si tout est OK, nous allons pouvoir extraire les partitions sur notre carte SD interne\\ | Si tout est OK, nous allons pouvoir extraire les partitions sur notre carte SD interne\\ | ||
- | Voici les partitions qui nous intéressent: | + | Voici les partitions qui nous intéressent : |
* alog | * alog | ||
Ligne 328: | Ligne 328: | ||
<note important>**Dans le cas échéant il faut adapter les commandes ci-dessous avec vos propres chemins de point de montage**. ;-)</note> | <note important>**Dans le cas échéant il faut adapter les commandes ci-dessous avec vos propres chemins de point de montage**. ;-)</note> | ||
- | <note>Il se peut que suite à la saisie de la commande su qu'il nous soit demandé de confirmer sur l'appareil l’accès en super-utilsateur qui faudra confirmer par "allow".</note> | + | <note>Il se peut que suite à la saisie de la commande su il nous soit demandé de confirmer sur l'appareil l’accès en super-utilsateur qui faudra confirmer par "allow".</note> |
<code user>adb shell | <code user>adb shell | ||
Ligne 363: | Ligne 363: | ||
Après environ 15 minutes d'attente (en particulier par la partition system) les partitions doivent toutes être extraites.\\ | Après environ 15 minutes d'attente (en particulier par la partition system) les partitions doivent toutes être extraites.\\ | ||
- | En suite nous pouvons copier le tout sur notre ordinateur. | + | Ensuite nous pouvons copier le tout sur notre ordinateur. |
<code user> | <code user> | ||
- | adb pull /sdcard/dump_android /home/$USER/dump_android</code> | + | adb pull /sdcard/dump_android $HOME/dump_android</code> |
Maintenant si nous allons dans notre /home nous devrions avoir un dossier du nom de "dump_android" avec tous les fichiers .img que nous venons d'extraire. | Maintenant si nous allons dans notre /home nous devrions avoir un dossier du nom de "dump_android" avec tous les fichiers .img que nous venons d'extraire. | ||
- | Si nous voulons supprimer le dossier "dump_android" histoire de libérer de l'espace voici la commande: | + | Si nous voulons supprimer le dossier "dump_android" histoire de libérer de l'espace voici la commande : |
<code user>adb shell | <code user>adb shell | ||
rm -rf /sdcard/dump_android/ | rm -rf /sdcard/dump_android/ | ||
exit</code> | exit</code> | ||
- | |||
- | |||
- | |||
- | |||
===== Création de la structure de l'archive ===== | ===== Création de la structure de l'archive ===== | ||
- | La suite de ce wiki ce passe sur l'ordinateur. Nous allons créer l'archive au format zip qui contiendra notre dump. | + | La suite de ce wiki se passe sur l'ordinateur. Nous allons créer l'archive au format zip qui contiendra notre dump. |
- | Dans le dossier "dump_android" qui contient (normalement) toutes les partitions que nous venons d'extraire de notre appareil Android, nous allons devoir rajouter un dossier "spécial" qui doit s’appeler obligatoirement "META-INF". Pour faire bref ce dossier contiendra toutes des informations importantes comme par exemple le script d'installation (updater-script) de notre futur archive. | + | Dans le dossier "dump_android" qui contient (normalement) toutes les partitions que nous venons d'extraire de notre appareil Android, nous allons devoir rajouter un dossier "spécial" qui doit s’appeler obligatoirement "META-INF". Pour faire bref ce dossier contiendra toutes des informations importantes comme par exemple le script d'installation (updater-script) de notre future archive. |
- | Via la commande "mkdir" et "touch" nous allons créer cette structure de divers dossiers: | + | Via la commande "mkdir" et "touch" nous allons créer cette structure de divers dossiers : |
- | <code user>mkdir /home/$USER/dump_android/META-INF | + | <code user>mkdir -p $HOME/dump_android/META-INF/com/google/android |
- | mkdir /home/$USER/dump_android/META-INF/com | + | touch $HOME/dump_android/META-INF/com/google/android/updater-script</code> |
- | mkdir /home/$USER/dump_android/META-INF/com/google | + | |
- | mkdir /home/$USER/dump_android/META-INF/com/google/android | + | |
- | touch /home/$USER/dump_android/META-INF/com/google/android/updater-script</code> | + | |
- | Et téléchargeons le fichier "[[https://debian-facile.org/images/file-R25ac9925cdd9fe07763413ca6210a1c2|update-binary]]" qui viendra placé dans le dossier "/home/$USER/dump_android/META-INF/com/google/android/" | + | Et téléchargeons le fichier "[[https://debian-facile.org/images/file-R25ac9925cdd9fe07763413ca6210a1c2|update-binary]]" qui sera placé dans le dossier "$HOME/dump_android/META-INF/com/google/android/" |
- | <code user>wget https://debian-facile.org/images/file-R25ac9925cdd9fe07763413ca6210a1c2 -O /home/$USER/dump_android/META-INF/com/google/android/update-binary</code> | + | <code user>wget https://debian-facile.org/images/file-R25ac9925cdd9fe07763413ca6210a1c2 -O $HOME/dump_android/META-INF/com/google/android/update-binary</code> |
Ligne 403: | Ligne 396: | ||
Pour faire bref, c'est via ce script que lors de la réinstallation notre appareil "comprendra" ce qu'on attends de lui. ^_^\\ | Pour faire bref, c'est via ce script que lors de la réinstallation notre appareil "comprendra" ce qu'on attends de lui. ^_^\\ | ||
- | Ouvrons le fichier "updater-script" qui ce trouve dans le dossier /home/$USER/Bureau/dump_android/META-INF/com/google/android et copions ce texte: | + | Ouvrons le fichier "updater-script" qui se trouve dans le dossier $HOME/Bureau/dump_android/META-INF/com/google/android et copions ce texte : |
<note warning>ATTENTION ! de bien remplacer **/dev/block/nand* **par les bons chemins de points de montage qui correspondent à **votre** appareil sous Android (voir chapitre "Point de montage")</note> | <note warning>ATTENTION ! de bien remplacer **/dev/block/nand* **par les bons chemins de points de montage qui correspondent à **votre** appareil sous Android (voir chapitre "Point de montage")</note> | ||
Ligne 426: | Ligne 419: | ||
ui_print("Done!");</code> | ui_print("Done!");</code> | ||
- | Et enregistrons, rien de compliquer normalement. ;-) | + | Et enregistrons, rien de compliqué normalement. ;-) |
===== Création de l'archive zip ===== | ===== Création de l'archive zip ===== | ||
Ligne 432: | Ligne 425: | ||
Maintenant nous allons créer l'archive au format zip.\\ | Maintenant nous allons créer l'archive au format zip.\\ | ||
- | Si le paquet "zip" n'est pas installé voilà comme faire: | + | Si le paquet "zip" n'est pas installé voilà comme faire : |
- | <code root>su | + | <code root>apt-get install zip</code> |
- | apt-get install zip | + | |
- | exit | + | |
- | </code> | + | |
- | Et créons notre archive.zip via cette commande: | + | Et créons notre archive.zip via cette commande : |
- | <code user>cd /home/$USER/dump_android | + | <code user>cd $HOME/dump_android |
- | zip -r9 /home/$USER/dump_android.zip *</code> | + | zip -r9 $HOME/dump_android.zip *</code> |
===== Signature de l'archive zip ===== | ===== Signature de l'archive zip ===== | ||
- | Signer une archive zip c'est lui apposer une signature numérique qui permet de valider son contenu et sa provenance, si on ne le faisait pas l'archive risquerait d'être refuser par le Recovery lors de l'installation ou flash. | + | Signer une archive zip c'est lui apposer une signature numérique qui permet de valider son contenu et sa provenance, si on ne le faisait pas l'archive risquerait d'être refusée par le Recovery lors de l'installation ou flash. |
Pour pouvoir signer l'archive, nous aurons besoin d'un mini "soft" qui s'appelle "SignApk".\\ | Pour pouvoir signer l'archive, nous aurons besoin d'un mini "soft" qui s'appelle "SignApk".\\ | ||
Ligne 452: | Ligne 442: | ||
Lien 1: [[https://debian-facile.org/images/file-Rb3866f5849cc53ea3c0468a27a5dd51f]]\\ | Lien 1: [[https://debian-facile.org/images/file-Rb3866f5849cc53ea3c0468a27a5dd51f]]\\ | ||
- | Une fois "SignApk" télécharger il faut l'extraire dans notre /home. | + | Une fois "SignApk" téléchargé il faut l'extraire dans notre /home. |
- | Pour info, nous trouverons les fichiers "testkey.pk8" et "testkey.x509.pem". Ces deux fichiers sont le certificat et la clé privée fournie par Android. Nous trouverons aussi "signapk.jar" qui est script qui nous permet d’exécuter le travail de signature. | + | Pour info, nous trouverons les fichiers "testkey.pk8" et "testkey.x509.pem". Ces deux fichiers sont le certificat et la clé privée fournie par Android. Nous trouverons aussi "signapk.jar" qui est un script qui nous permet d’exécuter le travail de signature. |
- | Maintenant, copions dump_android.zip dans le dossier signapk afin de le signé. | + | Maintenant, copions dump_android.zip dans le dossier signapk afin de le signer. |
- | <code user>cp dump_android.zip /home/$USER/SignApk/dump_android.zip | + | <code user>cp dump_android.zip $HOME/SignApk/dump_android.zip |
java -Xmx10240m -jar signapk.jar -w testkey.x509.pem testkey.pk8 dump_android.zip dump_android_signed.zip</code> | java -Xmx10240m -jar signapk.jar -w testkey.x509.pem testkey.pk8 dump_android.zip dump_android_signed.zip</code> | ||
- | Et voilà notre archive est prête à être réinstaller! :-)\\ | + | Et voilà notre archive est prête à être réinstallée ! :-)\\ |
- | **Voici les commandes qui permettent de faire tous ce qu'il a été vu dans ce chapitre (pour autant que le lien de "wget" soit toujours valable!)** | + | **Voici les commandes qui permettent de faire tous ce qui a été vu dans ce chapitre (pour autant que le lien de "wget" soit toujours valable!)** |
<code user> | <code user> | ||
- | cd /home/$USER | + | cd $HOME |
wget https://debian-facile.org/images/file-Rb3866f5849cc53ea3c0468a27a5dd51f -O SignApk.zip | wget https://debian-facile.org/images/file-Rb3866f5849cc53ea3c0468a27a5dd51f -O SignApk.zip | ||
unzip SignApk.zip | unzip SignApk.zip | ||
- | cp dump_android.zip /home/$USER/SignApk/dump_android.zip | + | cp dump_android.zip $HOME/SignApk/dump_android.zip |
- | cd /home/$USER/SignApk | + | cd $HOME/SignApk |
java -Xmx10240m -jar signapk.jar -w testkey.x509.pem testkey.pk8 dump_android.zip dump_android_signed.zip</code> | java -Xmx10240m -jar signapk.jar -w testkey.x509.pem testkey.pk8 dump_android.zip dump_android_signed.zip</code> | ||