lundi, novembre 30 2015

Téléphone Android chiffré, écran cassé, données perdues? Que nenni!

Et voilà qu'après une mauvaise chute, mon téléphone se retrouve sans écran. Et si l'écrasante majorité de mes données sensibles sont automatiquement synchronisée (coucou Syncthing, Radicale etc.), ce n'est pas le cas de ma base de donnée SMS. Vous me direz alors qu'adb est mon ami, oui mais il y a un hic, et pas des moindre : mon téléphone est chiffré par un schéma.

En bon libriste que je suis, mon téléphone (un Samsung Galaxy S4) tourne sur un version communautaire d'Android (Cyanogenmod avec Free_Cyngn) avec un recovery custom : TWRP. Celui-ci propose de monter la partition /data chiffrée, mais saisir le schéma sur un écran cassé, c'est difficile. Pour corser le tout, j'utilise un schéma de 4*4 points qui n'était pas compatible avec l'interface graphique de TWRP.

Mais comme tout est prévu, il est possible d'utiliser un outil en ligne de commande : twrp avec adb, mais comment rentrer mon schéma en ligne de commande? Un petit tour sur le sur tracker GitHub de TWRP où utilisateur nommé @smarek donne la solution : un petit programme java pour déduire le mot de passe en fonction du schéma. Mais il va falloir repérer les numéros des points utilisés par votre schéma et installer une bricole...

Trouver la suite de chiffre en fonction du schéma

Si on prend l'exemple de mon pattern de 4*4, il y a 16 points. Le point zéro est en haut à gauche et le point 15 en bas à droite. On pourrait alors le dessiner comme ci-dessous :

img

Je prends comme exemple le schéma correspond au dessin de droite, les numéros des points sont 0, 4, 8, 12, 9 et 6

Trouver le mot de passe

Avec une petite commande shell

C'est T s T qui donne la méthode dans les commentaires) (Merci!) pour remplacer le programme java par une commande dans le terminal, avec notre schéma d'exemple cela donne :

pattern_in_sh() { echo "unlock code: $(printf '%0.2x' "$@")"; }
pattern_in_sh 0 4 8 12 9 6

Ce qui nous donnera en résultat :

unloack code: 0004080c0906

Créer le programme java

Installation,

Je vais prendre ici l'exemple d'ArchLinux (puisque c'est la distribution que j'utilise). ouvrez un terminal et installez les paquets openjdk

yaourt -S jdk-openjdk8

J'ouvre mon éditeur de texte favori et colle le code suivant :

// file named Pattern.java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
public class Pattern {
public static void main(String... args) {
//remplacez ces chiffres par ceux issus de votre pattern
int[] pattern = {0,4,8,12,9,6};  
byte[] res = new byte[pattern.length];
for( int i = 0; i < pattern.length; i++ ) {
 res[i] = (byte) (pattern[i]);
}

StringBuffer hexString = new StringBuffer();
for (int i = 0; i < res.length; i++) {
            if ((0xff & res[i]) < 0x10) {
                hexString.append("0"
                        + Integer.toHexString((0xFF & res[i])));
            } else {
                hexString.append(Integer.toHexString(0xFF & res[i]));
            }
        }
    System.out.print("unlock code: ");
    System.out.println(hexString);
}
}

j'ai bien pris soin de remplacer la suite de chiffre indiqué dans le code par celle déduite de mon schéma; je sépare les chiffres par des virgules. J'enregistre le fichier dans mon dossier personnel, et le nomme Pattern.java. Il ne me reste plus qu'à lancer la compilation du bouzin et son exécution :

javac Pattern.java && java Pattern.java
unlock code: 0004080c0906

Et voilà le mot de passe pour débloquer mes données.

Se connectez au téléphone

Maintenant je démarre le téléphone en mode recovery, pour mon Galaxy S4 c'est la combinaison du bouton d'allumage, du bouton home et de la touche volume haut. Une fois le téléphone démarré je le relie à ordinateur et dans un terminal en mode root je lance (sudo fonctionne aussi):

adb shell twrp decrypt 0004080c0906

Comme tout a bien fonctionné, voici le retour que j'ai dans mon terminal

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Attempting to decrypt data partition via command line.
Data successfully decrypted, new block device: '/dev/block/dm-0'
Updating partition details...
...done

Maintenant il ne me reste plus qu'a récupérer les données de l'application qui m'intéresse : SMS Secure. Je créé un répertoire de destination sur mon ordinateur et je rapatrie les fichiers avec les commandes

mkdir /root/smssecure
cd /root/smssecure/
adb pull /data/data/org.smssecure.smssecure

Là tous les fichiers de l’application vont êtres disponibles dans le répertoire /root/smssecure. en cas de doute sur le dossier contenant les données à sauvegarder, je peux toujours lancer un adb shell ls -la /data/data/

Restaurer les fichiers

Pour restaurer les fichiers sur mon nouveau téléphone (sur lequel est installé TWRP, c'est évident), je vais d'abord installer l'application en question, puis je le démarre en mode recovery, je le branche en USB et je lance les commandes suivantes :

adb shell mount /data
adb shell ls -la /data/data/org.smssecure.smssecure
drwxr-x--x    2 u0_a87   u0_a87        4096 Nov 30 00:19 .
drwxrwx--x  108 system   system        4096 Nov 30 00:19 ..
lrwxrwxrwx    1 install  install         39 Nov 30 00:19 lib -> /data/app-lib/org.smssecure.smssecure-1

Ce téléphone n'étant pas (encore) chiffré, je monte de dossier /data avec une commande classique. Puis je vérifie le propriétaire et le groupe du dossier cible (ici u0_a87). C'est très important pour la suite. Je copie maintenant les éléments précédemment sauvegardées avec les commandes

adb push /root/smssecure/ /data/data/org.smssecure.smssecure/
adb shell "chown u0_a87:u0_a87 /data/data/org.smssecure.smssecure/* -R"

Et voilà mes SMS revenus avec l'aide d'adb et de java, il ne reste plus qu'à redémarrer mon nouveau téléphone.

Conclusion

Cette partie traite seulement les données des applications qui ne sont pas dans le dossier accessibles par l'utilisateur mais bien dans une partie cachée. Il est intéressant de noté qu'une application libre permet de faire facilement des sauvegardes (et restaurations) de ce genre de données : oandbackup. couplé à Openkeychain pour le chiffrement (par clés GPG) et Syncthing, se pourrait-être un excellent moyen de sauvegarder des données des applications non?

lundi, octobre 19 2015

Premier pas avec un Steam Controller

Steam Controller

Depuis que Valve a décidé d'invertir dans GNU/Linux, notre plate forme préférée ne voit pas passer un jour sans qu'un nouveau jeu arrive, je ne vais pas m'en plaindre! Avec SteamOS Valve affiche sa volonté d'emmener le PC du "Gamer" dans le salon (et s'éloigner le l'éco-système Microsoft?). Tout ça est bien joli mais difficile de jouer avec une souris et un clavier bien installé dans son canapé. Valve propose donc une manette maison : le Steam Controller, censé remplacer ces deux éléments vitaux au bon joueur PC.

Lire la suite

mercredi, mai 6 2015

Lettre ouverte à Mme Delaunay, député de la 2ème circonscription de la Gironde

Bonjour Madame la député, Je vous écris aujourd'hui pour vous signifier ma déception quant à votre vote en faveur de la loi sur le renseignement et l'absence de réponses aux appels téléphoniques et au courriel que je vous ai envoyé afin vous signifier mon désaccord et mes craintes à ce sujet. Un  […]

Lire la suite

mardi, septembre 9 2014

SFLPhone, IDJC et Tango Studio pour une webradio

Gladish, ajout de l'application IDJC

Dans le cadre de Radio Giroll, émission mensuelle de (web)radio en direct autour des cultures libres, j'ai mis en place une nouvelle régie virtuelle. Nous cherchions, avec les autres membre du collectifs Giroll, une solution simple et fiable pour la partie téléphonie. Nous l'avons trouvé avec SFLPhone

Lire la suite

jeudi, mai 16 2013

Rsync et synology, c'est pas la joie...

J'ai fait l'acquisition il y a trois semaines d'un NAS Synology. Il a deux fonctions principales : sauvegarder mes données, et créer mon "Cloud" personnel afin de m’affranchir un petit peu du géant Google. J'ai choisi ce NAS pour plusieurs raison : réputé fiable, économe, peu bruyant et  […]

Lire la suite

vendredi, février 22 2013

Passer Gnome en mode restreint pour jouer

The Cave, pas très fluide avec Gnome-Shell

J'adore Gnome 3 et Gnome-Shell, mais depuis que je me suis mis à jouer sous Linux j'ai pris conscience de son plus gros défaut : il grignote un peu trop les maigres performances de ma carte graphique. Je vais ici vous expliquer comment passer facilement en mode Gnome-Classic pour jouer plus confortablement.

Lire la suite

samedi, février 16 2013

Steam final disponible sur Linux

L'écran d'accueil du client Steam

Disponible en bêta fermé depuis plusieurs mois sur Linux, Steam est maintenant disponible en version finale sur notre OS favori. Pour rappel, Steam est une plate-forme de distribution de jeux vidéo et applications informatiques dématérialisés. Voici ici un petit test perso sur Archlinux.

Lire la suite

mercredi, décembre 5 2012

Sokoban garden, le jeu Android avec du Logiciel Libre dedans

Capture d'écran du jeux

Sokoban Garden est un petit jeux de réflexion sur Android disponible depuis peu sur le Google Play Store avec un petite particularité : il a été développé qu'avec des outils libres.

Lire la suite

jeudi, novembre 15 2012

Dessins pour l'Install-Party Ubuntu Bordelaise

maître Jedi Quetzal

Le samedi 1er décembre, à partir de 10h le collectif Giroll vous donne rendez-vous pour une journée axée Cultures Libres. Pour promouvoir cet évènement que j'ai réaliser deux illustrations (plus une affiche à venir...) disponibles sous licence Art-Libre.

Lire la suite

samedi, juin 2 2012

Humble Bundle et Archlinux

Sword and Swordery : écran d'accueil

Je me suis enfin décidé à acheter un Humble Bundle, ces célèbres paquetages de jeux réalisés par des studios indépendants et disponibles sur plusieurs plate-formes sans DRM. Ça fait un bon moment que Mathieu en parlait mais cette fois-ci je me suis laissé tenter, sûrement à cause de Sword and Sworcery. Les jeux proposés sont tous compatible Linux. Et ça c'est une bonne nouvelle! Mais ils sont pour la plupart prévus pour fonctionner simplement sur Ubuntu, les installer et jouer sur Arch c'est une autre histoire...

Lire la suite

mardi, mars 27 2012

Tarte amandine au poires

Hooo les belles poires

Si mon blog est un peu à l'abandon ces derniers mois, la partie cuisine est encore plus touchée. Afin de me faire pardonner je vous propose ici une excellente recette de Tarte Amandine (Poire et amande) aussi appelée tarte Bourdaloue. Musclez vous les bras parce que ça va faire mal...

Lire la suite

mardi, janvier 17 2012

Désimlocker un téléphone Webos

Icone "Infos appareil" dans le menu "système"

Propriétaire d'un téléphone HP/Palm pré2 SFR, je voulais pouvoir l'utiliser sur le réseau Free. Oui mais voilà j'ai acheté le téléphone d'occasion, et SFR ne veux donc pas le débloquer. Qu'à cela ne tienne, il existe une méthode simple et efficace et libre pour le faire. Voici le détail sous Linux...

Lire la suite

mercredi, septembre 7 2011

Afficher les articles à venir avec CMSMS

Date de début et date de fin sur cmsms

CMS made simple (ou CMSMS pour les intimes) est un gestionnaire de contenu Open-Source très facile d'emploi. Je l'utilise régulièrement pour des sites de petite ou moyenne envergure. Pour un de mes clients, j'ai du adapter un peu le module "News" qui permet la gestion (simple) d'articles.

Lire la suite

samedi, septembre 3 2011

Restaurer un dossier avec Duplicity

J'utilise depuis quelque temps Deja Dup pour effectuer mes sauvegarde, j'en avais parlé sur ce billet. Mais voilà, un vilain petit bug empêche l'ouverture de la fenêtre de restauration (bug de GTK3...). Et aujourd'hui j'ai perdu l'ensemble de mon dossier Thunderbird. Mais comme Déjà dup est basé sur  […]

Lire la suite

jeudi, juillet 21 2011

Sauvegarde sur disque chiffré avec Déjà Dup

Créer un nouvelle partition

Lors de mon précédent billet, je vous ai parlé de Déjà Dup, logiciel de sauvegarde relativement simple à utiliser, et qui permet de restaurer facilement ses données. Je vais ici vous exposer ma méthode de sauvegarde sur un disque externe chiffré.

Lire la suite

samedi, juillet 9 2011

Déjà Dup : sauvegarde et restauration simplissimes

L'installation de Déjà Dup par yaourt avec Archlinux

Un bon système de sauvegarde doit aussi permettre une restauration simple des données. J'ai donc profité d'un changement de machine pour vérifier que Back in Time, mon système de sauvegarde actuel, permettait cette manipulation facilement. Et le constat est sans appel : Non! J'ai donc pris le temps de chercher une autre solution : Déjà Dup. J'ai été conquis...

Lire la suite

mercredi, juin 8 2011

Journée Ortophonie et Logiciels Libres à Bordeaux

Graine d'Ortho 13

Rémi, orthophoniste girollien et ami, organise le samedi 11 Juin à Bordeaux une demi-journée Orthophonie et Logiciels Libres en partenariat avec l'ABFO (Association Bordelaise des Futurs Orthophonistes). J'y animerai un atelier de découverte des logiciels libres de graphisme.

Lire la suite

lundi, mai 9 2011

Affiche de la Natty Party Girollienne disponible

L'affiche de la Natty party par giroll

Et oui, comme tous les 6 mois le collectif Giroll organise une install-party Ubuntu, et encore une fois c'est moi qui me colle à la création de l'affiche. Aidé de mes fidèles MyPaint et Inkscape, je vous présente cette nouvelle création

Lire la suite

samedi, mars 26 2011

What a cartoon : laboratoire de cartoons

Logo Cartoon Network au moment de la diffusion de What a Cartoon!

Les super Nanas, Dexter's laboratory, Cow and Chicken., Johnny Bravo... Ces noms de dessins animés vous disent peut-être quelque choses ? Toutes ces séries célèbres diffusées sur Cartoon Network dans la seconde moitiée des années 90 sont à l'origine issues du même programme : « What a cartoon ! ».

Lire la suite

vendredi, février 18 2011

Le thème dotclear du collectif Giroll disponible

Aperçu du thème

Lors de la mise en ligne le nouveau site du collectif Giroll fièrement propulsé par Dotclear, j'avais promis de mettre à disposition de tous les fichiers graphiques et les templates sous licence libre.

Lire la suite

- page 1 de 7

Haut de page