Carantec Informatique - Vente, assistance, conseil et dépannage informatique

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 8 septembre 2011

Etranges coïncidences...

On m'a confié récemment plusieurs ordinateurs Windows aux symptômes assez proches : plus de connexion internet etune grande lenteur durant le boot. J'ai rapidement remarqué que de nombreux services windows n'étaient pas lancé, parmi lesquels le client DHCP, le service Audio, et la plupart des services liés au réseau.

Un point commun entre toutes ces machines : en utilisant une commande sur l'interface IP (typiquement, netsh int ip reset c:\log.txt), j'obtenais une erreur documentée dans une bibliothèque InitHelper.dll - qui confirmait un problème fondamentalement réseau.

Après quelques tentatives, j'ai fini par trouver une solution applicable dans la plupart des cas : suppression des clés de registre Winsock et winsock 2 ; puis réinstaller TC/IP sur les machines XP - pour Vista/7, une simple réparation automatique du réseau suffit.

Puis, redémarrer... 3 fois sur 4, j'ai récupéré le fonctionnement normal du système - minus quelques nettoyages et configuration).

Par contre, j'ignore d'où le problème est venu, je suspecte une mise à jour, car je ne vois pas d'autre élément commun à tous ces PC. Ou bien, une attaque brutale sur le firewall depuis Internet. 

On verra si j'en trouve d'autres ! Si vous en constatez, n'hésitez pas à me le signaler !

dimanche 3 avril 2011

Inutile mot de passe de session (Vista / 7)

Un client m'a confié un PC sous Windows 7 dont il avait oublié le mot de passe d'ouverture de session. Résultat : impossible pour lui d'utiliser la machine ou de récupérer ses données.

En principe, si la sécurité était ce qu'elle devrait être, c'est à dire inviolable (ou quasi), il n'y aurait pas eu d'autre solution que de réinstaller l'ordinateur - en récupérant les données au préalable avec un LiveCD si le disque n'est pas crypté (ce qui est heureusement assez rare).

La sécurité n'a jamais été un aspect important des systèmes grand public de Windows.A leur décharge, il faut faire remarquer que sécuriser un système grand public est une tâche impossible : cela impose un grand nombre de contraintes (notamment l'emploi systématique d'un mot de passe complexe et l'apparition de fenêtres de confirmation incessantes) que réprouve ledit grand public. Vista a été un échec commercial en partie à cause de procédures de sécurité accrues : le public voudrait à la fois un OS sûr, mais simple à utiliser, ce qui est une contradiction.

Avant Windows XP/2000, il n'y avait tout simplement pas de mot de passe. 

Avec Windows XP/2000, il était possible de démarrer la machine en mode sans échec et d'utiliser le compte administrateur pour supprimer un mot de passe. Ce n'était possible qu'en possédant bien sûr le mot de passe administrateur, mais dans 99% des cas, il s'agit d'un mot de passe vide et les droits afférents sont récupérés d'un simple clic.

Depuis Vista, il n'y a plus de compte Administrateur activé par défaut. Un des comptes présent sur l'ordinateur doit posséder les droits administrateurs, mais ce peut être le compte principal unique du système, ce qui était le cas. Impossible donc d'ouvrir le compte principal, ayant les droits administrateur, puisque le mot de passe était perdu.

Je me suis dit : c'est dommage, on va devoir réinstaller la machine (qui était quasi neuve), mais au moins cela prouve que l'utilisation d'un mot de passe est relativement sûre. 

C'est alors que j'ai pris connaissance d'un "hack" ("bidouille", en vieux français), une astuce, simple, rapide, efficace, pour contourner n'importe quel compte administrateur sur Vista ou 7. Encore pire que XP, je dois dire.

L'astuce est de détourner une fonction prévue pour les accès "handicap" sur l'écran d'accueil. 

J'explique : lorsqu'on démarre l'OS, on arrive sur l'écran d'accueil, une page où est listé, au centre, les sessions que l'on peut ouvrir. En cliquant sur le nom de la session, l'ordinateur demande alors le mot de passe du compte. Si votre compte utilisateur est le seul du système, et qu'il ne possède pas de mot de passe, alors l'écran d'accueil ne s'affiche pas et la session s'ouvre directement.

Sur cet écran d'accueil, il y a en bas à droite un petit bouton rouge pour éteindre l'ordinateur. En bas à gauche, un petit bouton bleu qui permet de lancer un utilitaire d'activation des "programmes d'accessibilité" : loupe, narrateur, ou clavier visuel - à destination des mal-voyants principalement, qui pourront y trouver de l'aide. C'est dans ce programme, placé ici pour de bonnes raisons, que se situe la faille.

En effet, quand on clique sur ce bouton bleu, on lance le programme utilman.exe qui se trouve dans %windir%/system32/. L'astuce est simplissime : avec un LiveCD quelconque (j'utilise pour ma part UBCD4Win), on renomme le programme cmd.exe (qui se trouve être la console système, permettant l'utilisation de commandes en lignes) en utilman.exe. Puis on redémarre l'ordinateur, et une fois sur l'écran d'accueil, on clique sur le bouton bleu. Cela lance le programme utilman.exe, qui se trouve être un cmd.exe renommé : le terminal de commande s'ouvre donc. Et la seconde faille, c'est que l'écran d'accueil dispose manifestement de droits étendus (il tourne probablement dans le contexte system) car la console dispose de droits administrateurs.

On utilise alors la commande net user pour attribuer un mot de passe vide au compte que l'on veut réinitialiser. On peut aussi créer un nouveau compte administrateur, puis le dissimuler pour pouvoir entrer sur la machine n'importe quand, en toute discrétion. Il suffira par la suite de ne pas le faire apparaitre sur l'écran d'accueil pour que le propriétaire de la machine ne se rende compte de rien.

On clique sur le nom du compte, la session s'ouvre. Au temps pour la sécurité liée à l'utilisation d'un mot de passe Windows !

vendredi 26 novembre 2010

Windows Live Mail 2011, SkyDrive et Picasa

J'ai eu la surprise de constater, après avoir installé une mise à jour de Microsoft considérée comme importantes (alors qu'elle n'est, techniquement, que commerciale) de voir qu'il n'était plus possible d'utiliser la fonction native d'envoi de mail par le logiciel de mail par défaut du système, ici Windows Live Mail 2011, sans devoir créer un compte Windows Live.

Une fonction (une API, probablement) du système Windows depuis Windows XP permet d'envoyer des photos, en les réduisant automatiquement, de façon très simple. Une façon d'utiliser cette API est de faire un clic droit dans l'explorateur sur une sélection d'une ou plusieurs photos, de cliquer ensuite sur "Envoyer vers" puis de choisir "Destinataire". De cette façon, Windows prend les photos sélectionnées, vous propose de les réduire automatiquement (dans options, vous pouvez choisir la taille des images générées), puis ouvre une fenêtre de mail dans laquelle les photos sont déjà en pièce jointe. C'est très pratique.

Une autre façon de faire est d'utiliser Picasa qui permet de faire la même chose en sélectionnant des photos, puis en cliquant en bas sur le bouton Mail. Picasa utilise la même API, manifestement, et probablement encore d'autres logiciels.

Si vous utilisez Windows Mail (Vista) ou Thunderbird (Fondation Mozilla), voire Windows Live Mail antérieur à 2011 (Windows Live), pas de problème. Mais si vous avez installé Windows Live Mail 2011, il vous sera demandé d'ouvrir un compte Live pour pouvoir expédier le message.

Techniquement, Windows Live Mail 2011 n'envoie plus les photos par mail. Il les télécharge sur un serveur (nommé espace SkyDrive) appartennant à Microsoft et envoie dans le mail un lien vers les photos du serveur. C'est pour cette raison qu'un compte est obligatoire. 

Un effet secondaire qui va probablement faire parler de lui, est que les photos ne sont pas conservées : elle seront visibles deux mois sur le serveur, au-déla, si le destinataire n'a pas pris soin de les télécharger pour les stocker sur son ordinateur, elles seront perdues.

Or la différence entre "stockées dans la base de données Mail" et "sur un serveur distant", pour un utilisateur lambda, n'est pas triviale. La plupart des gens ne vont pas faire la différence : comme il y a une miniature des photos dans le mail, les gens vont penser que les images sont dans le corps du message. Le risque de cliquer sur les photos deux mois plus tard pour apprendre que les photos ont été surpprimées est grand.

Et puis, c'est commercialement indélicat d'obliger les gens à utiliser un compte Live pour échanger des photos alors que c'est une fonction courante des logiciels de mail. Je considère que c'est une erreur à la fois technique et humaine de la part de Microsoft. Il n'existe aucun moyen de contourner cette fonction, à part utiliser la fonction "Joindre" du mail (mais on perd alors à la fonction de redimensionnement des images).

Quelle solution alors ?

Simple : changez de logiciel de messagerie, et utilisez un logiciel libre, qui ne sera pas soumis à ce genre de pression commerciale. Je conseille mon propre logiciel depuis bien longtemps : Thunderbird. Il en existe d'autres bien sûr, dont Foxmail.

Sur les raisons du pourquoi d'une telle attitude, c'est évident que Microsoft cherche à développer son réseau "social" en ligne, sa suite windows Live et son espace de stockage SkyDrive pour asseoir son emprise commerciale et publicitaire. Mais à mon sens, ce n'est pas en contraignant ses utilisateurs qu'il y parviendra, surtout sous la pression de concurrents comme Google.

mercredi 27 mai 2009

Récupérer ses playlists iTunes

J'ai eu récemment à récupérer toute une bibliothèque iTunes, suite à un plantage. Il a été nécessaire de changer d'ordinateur, et l'utilisateur possédait une très large bibliothèque iTunes et de nombreuses playlists.

La récupération des données n'a pas posé de problème particulier (extraction du disque et recopie des données sur le nouveau PC via un adaptateur USB).

Mais bien entendu, une fois iTunes installé sur le nouveau PC, la bibliothèque était absente, et les playlists disparues. Il a été nécessaire de fouiller un peu, la résolution du problème étant rendu plus difficile du fait que la bibliothèque en question était répartie sur deux disques durs externe et dans une arborescence de répertoires disparate.

Il a malgré tout été possible de récupérer les morceaux et les playlists.

- La liste des morceaux de musique ainsi que les playlists est stockée dans une base de données XML, située dans le dossiers Musique/iTunes et s'appelle iTunes Music Library.xml

  • Pour vider complètement la base de données, il suffit de supprimer/déplacer/renommer (au choix) ce fichier iTunes Music Library.xml et un autre fichier dans le même répertoire, qui s'appelle Itunes Library.itl
    Ceci ne supprime pas les fichiers de musique, mais seulement la base de données (c'est à dire la liste des morceaux, les détails enregistrés par morceau, tel le classement, et les playlists).
Chaque morceau est identifié selon une structure XML assez simple dont voici un extrait :

    <dict>
<key>3000</key>
<dict>
<key>Track ID</key><integer>3000</integer>
<key>Name</key><string>Symphony No. 9 (Scherzo)</string>
<key>Artist</key><string>Ludwig van Beethoven, composer. Seattle Symphony. Gerard Schwarz, director</string>
<key>Genre</key><string>Classique</string>
<key>Kind</key><string>Fichier audio AAC</string>
<key>Size</key><integer>1227915</integer>
<key>Total Time</key><integer>75650</integer>
<key>Track Number</key><integer>1</integer>
<key>Date Modified</key><date>2008-09-06T08:57:04Z</date>
<key>Date Added</key><date>2007-10-23T20:37:21Z</date>
<key>Bit Rate</key><integer>128</integer>
<key>Sample Rate</key><integer>44100</integer>
<key>Play Count</key><integer>7</integer>
<key>Play Date</key><integer>3309610938</integer>
<key>Play Date UTC</key><date>2008-11-15T14:22:18Z</date>
<key>Persistent ID</key><string>4430096F2AC0B091</string>
<key>Track Type</key><string>File</string>
<key>Location</key><string>file:/F:/Music/Ludwig%20van%20Beethoven,%20composer.%20Seattle/Unknown%20Album/01%20Symphony%20No.%209%20(Scherzo).m4a</string>
<key>File Folder Count</key><integer>4</integer>
<key>Library Folder Count</key><integer>1</integer>
</dict></dict>

Le point le plus important dans cette structure, c'est la clé "Location" qui définit le chemin d'accès au fichier. Vous remarquerez que les espaces sont remplacés par des %20, qui représente un espace en HTML. Dans cet exemple, il s'agit d'un fichier 01 Symphony No. 9 (Scherzo).m4a situé sur le disque F: dans un dossier Music, puis Ludwig van Beethoven, composer Seattle, puis Unknow Album (F:/Music/Ludwig van Beethoven, composer Seattle/Unknow Album/01 Symphony No. 9 (Scherzo).m4a).

Dans le cas duquel je me suis occupé, il avait été nécessaire de rassembler sur un seul disque externe les fichiers situés dans trois sessions différentes du portable en panne, ainsi que quelques autres morceaux qui étaient sur un autre disque dur externe. La base de données XML faisaient donc référence à quatre emplacement différents, et une dizaine de sous-dossier différents.

Le principe a donc été simple dans la logique : rechercher chaque occurence du chemin d'accès de la première référence (par exemple, C:\Documents and Settings\session 1\Mes documents\Ma Musique\iTunes\iTunes Library\) et la remplacer par la nouvelle (M:\Session 1\iTunes Library\). Pour rechercher/remplacer, le bloc-note de Windows convient très bien (ou un équivalent comme Notepad2) : utilisez le menu Edition - > Remplacer ; la première case contient la chaîne de caractère à rechercher, la seconde contient le texte à coller à la place.

En faisant bien attention à la syntaxe, et en ayant préalablement et manuellement rassemblé les fichiers musicaux dans un seul dossier, l'opération est relativement aisée.

Une fois les opérations de rechercher/remplacer effectuées, il faut enregistrer le fichier XML (dont on aura pris soin de faire une copie au préalable).

Puis aller dans itunes, Fichier -> importer -> Bibliothèque, et sélectionner le fichier. Le logiciel va alors récupérer le contenu de la base de données, vérifier chaque chemin d'accès, et importer les morceaux puis les playlists de la base de données modifiée.

Une playlist est simplement une autre structure XML qui contient tout bêtement les références (key) de chaque morceau qu'elle contient :

    <dict>
            <key>Name</key><string>Mes préférés</string>
            <key>Playlist ID</key><integer>34798</integer>
            <key>Playlist Persistent ID</key><string>F30D9E314AC8C015</string>
            <key>All Items</key><true/>
            <key>Playlist Items</key>
            <array>
                <dict>
                    <key>Track ID</key><integer>4102</integer>
                </dict>
                <dict>
                    <key>Track ID</key><integer>4103</integer>
                </dict>
                <dict>
                    <key>Track ID</key><integer>4104</integer>
                </dict>
                <dict>
                    <key>Track ID</key><integer>4105</integer>
                </dict>
                <dict>
                    <key>Track ID</key><integer>4106</integer>
                </dict></dict>

Cette playlist s'appelle "Mes Préférés" et contient les morceaux 4102, 4103, 4104, 4105 et 4106.

L'opération d'importation de la base peut prendre un bon moment, selon le nombre de morceaux et de playlists. Il faut être patient.

Une fois l'opération effectuée, les playlists vont réapparaitre. Vérifiez sommairement leur contenu : s'il manque des éléments, retournez dans la base de données, et recherchez soit la playlist incomplète ou le morceau manquant. Les titres de playlist sont toujours récupérées, mais le contenu n'est affiché que si la base de données contient le bon chemin d'accès au fichier. Vérifiez que le chemin d'accès au fichier est correct (c'est au caractère près).

Attention, lorsque vous importez les données, elles sont ajoutées : en important la base, puis la modifiant, puis réimportant, vous aurez les playlists en double.

En cas d'erreur, il suffit d'effacer la base de données et de recommencez l'importation.

Tout ceci est sans danger, puisque si vous faites une copie de votre base XML initiale, vous ne pouvez rien perdre.






vendredi 16 mars 2007

Correction d'un bug Outlook Express / Visionneuse Powerpoint

J'ai remarqué que lorsqu'on installait la Visionneuse Powerpoint (laquelle sert à afficher les nombreux fichiers au format .pps ou .ppt qui transitent entre amis par email), il n'était pas possible d'ouvrir directement un fichier PowerPoint depuis Outlook Express. Cliquer sur la pièce jointe pour ouvrir le document aboutit à une erreur "Il n'existe pas de programme associé à ce type de fichier". Pourtant, la Visionneuse est précisement prévue pour ouvrir les fichiers PowerPoint ! Et si on enregistre le document sur le disque dur, il s'ouvre parfaitement d'un double-clic, preuve s'il en est qu'il existe bien un programme associé à ce type de fichier. Alors quoi ?

Lire la suite...