Smartphone France Application Smartphone France pour Windows
Bienvenue sur Smartphone France Windows Edition
Actuellement, 120 visiteurs en ligne
Vous utilisez un bloqueur de publicités ? Félicitations :)
Actualité Smartphone France

Retour au sommaire du site

  Les applications Windows Phone 7 mal protégées ?
 Publié le 16/11/2010 à 01:30 - 20 commentaires ...

Voici une news qui nous a demandé reflexion avant publication car elle pourrait porter à polémique et faire peur à tous ceux qui voudraient se lancer dans le développement Windows Phone 7. Mais bon vu que nous n'allons pas tout révéler sur notre découverte même si nous allons vous donner les grandes lignes de notre enquête nous sommes vraiment tombé de haut en faisant nos recherches sur le mode de fonctionnement de Windows Phone 7 et plus particulièrement le mode de distribution des applications tierces que tout à chacun peut proposer.

En premier lieu comme tous bidouilleurs nous cherchions un moyen simple de récupérer les fichiers exécutables des applications contenus sur un Windows Phone 7. Microsoft ayant eu l'excellente idée de verrouiller totalement son appareil, même si ce déverrouillage semble être en cours, nous avons orienté notre recherche ailleurs. Un smartphone Windows Phone 7 est fermé ? Pas grave il suffit d'essayer de récupérer les donnés ailleurs. Fort de notre expérience de plusieurs années dans l'informatique nous nous sommes intéressés au dialogue Logiciel Zune <-> Terminal Windows Phone 7 lors du téléchargement des programmes en vu de leur installation.

Afin de ne pas être "hors la loi" et ne pas vous proposer de télécharger illégalement certains programmes nous avons porté notre choix sur le titre gratuit "MSN.fr" proposé sur le marketplace. Le logiciel Zune étant capable de télécharger les programmes avant de les envoyer sur le Windows Phone nous avons donc "écouté" son trafic réseau avec un logiciel totalement gratuit comme WireShark. C'est à ce moment là que nous avons été hyper surpris de constater que les échanges entre le logiciel Zune et les serveurs de Microsoft étaient en clair ! Pas de décodage à faire il suffit de lire pour tout comprendre ! C'est ainsi que nous avons pu voir qu'il est très facile de récupérer un logiciel WP7 directement sur les serveurs de Microsoft !

Dans le cas de notre "MSN.fr" il se trouve à cette adresse apps.marketplace.windowsphone.com/F76AE2E5-CB0B-4EE8-9B28-F8F81BC94004/CurrentBinary.xap. Une adresse qui est tout simplement donnée dans un fichier au format XML lors de la "procédure d'achat" sur le logiciel Zune ! Une fois l'adresse récupérée on se dit que Microsoft a quand même protégé un peu le truc pour empêcher les téléchargement à partir d'un autre logiciel. Et bien non il suffit de mettre cette adresse dans son navigateur préféré pour récupérer le ficheir XAP, les exécutables de WP7, et le sauvegarder bien au chaud sur son ordinateur !

Si récupérer l'exécutable d'un programme Windows Phone 7 est donc assez simple et à la portée de tous ou presque il faut tout de même relativiser la chose car après il reste tout de même impossible de réinjecter le programme téléchargé sur un Windows Phone. Enfin ceci est vrai aujourd'hui car qu'en sera t'il quand ceux qui travaillent sur 'la libération de Windows Phone 7" auront réussi leur coup ?

Par contre ce qui nous pose beaucoup plus de problème et qui est bien plus dérangeant selon nous est qu'avec un logiciel comme .NET Reflector® il est très simple de décompiler un programme pour en récupérer ses ressources et son code source ! Imaginez ce qu'un développeur malhonnête peut faire en s'inspirant des idées des autres ! Une bonne manière pour diminuer les coûts de développement non ? Des solutions pour protéger son code comme comme Dotfuscator existent mais ne sont pas gratuites (Dotfuscator pour WP7 l'est jusqu'au 31/03/2011).

Au final notre question est : Qu'est ce que Microsoft va faire pour mieux protéger les développeurs WP7 ? Pour les utilisateurs malhonnêtes c'est tout bénéfice mais quand on est développeur on apprécie certainement moins la plaisanterie.


 16/11/2010 01:38:43 - Christophe - Le Webmaster ...
Ce que j'explique brièvement n'est certes pas à la portée de tous mais tout petit bidouilleur sera capable de tout reproduire et de faire du mal à des personnes qui n'ont rien demandé. Je trouve vraiment dommage de voir que Microsoft n'ai pas essayé de mettre en place un minimum de protection à ce niveau rien que pour protéger ses clients que sont les développeurs et ses propres intérêts. Un petit cryptage SSL entre ses serveur et le logiciel Zune par exemple limiterait déjà pas mal les choses.

Je n'ai personnellement pas publié cette news pour vous encourager à devenir des pirates de WP7. Si grâce à mes explications vous pourrez être capables de récupérer un programme exécutable de WP7, la majorité ne saura pas quoi en faire et c'est bien mieux ainsi.

Avec cette news je tenais tout simplement à sensibiliser les devéloppeurs WP7 qu'il leur faudra en premier lieu compter sur eux même pour protéger leurs oeuvres. Microsoft est une société qui a certaines compétences mais qui par moment m'étonne sur certains choix techniques. Ne reste à espérer que la prochaine version du marketplace WP7 soit un peu mieux protégée que celle actuellement en ligne.

Pour l'anecdote en regardant le code du logiciel "MSN.fr" j'ai pu constater que pas mal de chaînes de caractéres étaient codées en dur dans le prgramme. Une manière de faire que tous les développeurs digne de ce nom trouveront plus que limite car quand on fait un programme sérieux qui est censé être proposé en plusieurs langues, c'est la première chose qu'il faut éviter. Ils sont forts chez Microsoft ... mais pas tous ;)

Une news que je ne vaux absolument pas polémique et qui je l'espère trouvera écho auprès de Microsoft rien que pour améliorer leur solution Zune <-> Windows Phone 7 :)
 16/11/2010 01:55:31 - Christophe - Le Webmaster ...
C'est marrant juste au moment où je viens de mettre en ligne cet article je reçois un message de la part de Microsoft qui explique aux développeurs comment protéger au mieux leurs applications et les procédures qiu'ils mettent oeuvre pour le faire. Comme quoi dans la vie on dit souvent que les grands esprits se rencontrent :)
 16/11/2010 06:33:15 - Danuz
J'ai également reçu cet email (^__^). Effectivement que c'est un gros problème! Non seulement pour la perte de la propriété intellectuelle, mais également des ressources que l'on voudrait dissimuler.

Le fichier .xap contient l'ensemble des ressources (dll, images, autres médias) et il est facile de pouvoir y avoir accès (on le renomme en .zip et on en extrait les sources). Ensuite, avec Reflector, il est possible de déssambler les dll pour éventuellement y retrouver des liens de flux divers, et déjouer éventuellement la sécurité des serveurs hébergeant ces ressources s'ils protègent mal leurs liens externes!

Si ça se trouve, il y aurait sûrement un moyen de télécharger les applications payantes via un lien direct aussi ! loool :o)
 16/11/2010 07:16:53 - phonewindows
quoi ?! MS mauvais en sécurité et mauvais en développement ???
quel scoop
 16/11/2010 08:02:11 - Danuz
@phonewindows : Il ne faut pas faire d'amalgame entre les problèmes de sécurité et de mauvais développements... (à moins que tu ne sois développeur et que tu n'aies jamais eu de problèmes dans tes projets :-) ).

La news fait seulement allusion aux problèmes de protections des applications qui n'auraient pas été obfusquées...

But, Don't feed the troll ...
 16/11/2010 09:07:22 - usrunknown
"Par contre ce qui nous pose beaucoup plus de problème et qui est bien plus..."
C'est que nous sommes complètement ignorants et incompétents en la matière!et nous découvrons ce matin que la terre n'est pas ronde mais ovale.
D'une part cela a toujours était le cas des langages .NET,la compilation ne se fait qu'au moment de l'exécution et c'est une compilation par granulation, c'est à dire par méthode,il existe avant l'exécution un langage intermédiaire(IL) qui est lui, facilement "décompilable".
Tout développeur qui se respecte, est au courant et s'il juge qu'il faut protéger une partie de son code, il se donnera les moyens de le faire,en sachant qu'aucune application ne peut être protégée à 100% quelque soit le langage.

Pour les autres plateformes Android par exemple, c'est exactement la même chose avec leur apk!!!

Pour l'iphone la décompilation demande plus de connaissance en ASM,mais on peut également bien sûr décompresser et avoir accès au ressources(images,icône..)

Remarque:
Sur autre news concernant un jailbreak wp7 :
La personne a juste accès en lecture par intermédiaire d'une application qui est en mode debug,et cela et encore très loin d'être du jailbreak.

Désolé d'être si direct,mais à force de vous lire et surtout de lire n'importe quoi ben ...pas pu me retenir.
 16/11/2010 09:14:21 - jpm78
J'avoue que c'est un peu compliqué pour moi cette new, mais usrunknown, c'est quoi le "lire n'importe quoi" ? La new par elle-même ou la new du jailbreak WP7 ? Ou ... les deux ????
 16/11/2010 09:22:07 - Danuz
@usrunknown : Je ne sais pas pour toi, mais me concernant, je ne protège pas systématiquement mes applications .NET :-). Par contre, mes liens et ressources extérieures, je les protège (cryptage des paramètres complexes).

Sur la news du jailbreak, l'accent est mis sur al capacité à pouvoir accéder au système de fichiers :-), ce qui était censé ne pas pouvoir y être autorisé. Même si ce n''est pas trivial, c'est quand même quelque chose d'intéressant pour comprendre la façon dont c'est géré :). Après, il pourra trouver ou pas ce développeur des choses permettant d'être indépendant d'une application tierce ou autre! :D
 16/11/2010 09:46:29 - usrunknown
@Christophe - Le Webmaster
Désolé mais tu aggraves ton cas et ta méconnaissance en la matière.
On ne s'improvise pas développeur juste en ouvrant VS2010,l'application MSN.fr que tu dis être mal codée est à mes yeux une application que je qualifierai: modèle!!!

Un petit coup de reflector et on peut voir qu'elle respecte le modèle MVVM(ce qui la rend testable,maintenable......)
Les chaines de caractère, que tu décris comme codées en dur et qui pour toi sont une grosses erreur de programmation sont juste des constantes (chaine de connexion) aux serveurs:
Rien de secret tout le monde les connait.

Je rajouterai qu' on a pas besoin de décompiler pour voir où le téléphone se connecte et à quelle adresse,il existe d'autres méthodes pour le savoir et cela juste en exécutant les applications.

Ma réflexion et même si j'ai été un peu direct, c'est d'avant de pouvoir donner une quelconque information il faut d'abord maitriser un minimum le sujet.
 16/11/2010 11:43:31 - La Mouette
Grand bien nous en fasse que les codes sources soient ouvert, ça ne pourra que tirer vers le haut le niveau actuel des programmeur WP7 !! Perso ça ne me gène pas qu'on repompe violemment une partie de mon code. D'ailleurs tout dev devrait pratiquer ça sur les assemblies Microsoft à but éducatif.
 16/11/2010 11:47:04 - Danuz
@La Mouette : Lol! Moi non plus, ça ne me dérange pas :D! Au contraire, si je peux inspirer certains, pourquoi pas? :D
 16/11/2010 11:47:30 - Christophe - Le Webmaster ...
@usrunknown : Smartphone France n'est pas un site destiné aux développeurs et il n'est pas évident d'expliquer simplement les choses pour que le plus grand nombre comprenne. Pour les pros il y a des sites spécialisés :) Et concernant mes compétences rassure toi elles sont certainement largement au delà de ce que tu peux croire.

Par contre d'après toi tous ceux qui vont développer pour WP7 maitrisent ils le sujet ? Là je crois bien que non et la majorité va développer en ayant juste des bases et ne connaissent pas du tout le fonctionnement interne du système. C'est à eux que s'adresse cette news juste pour leur faire prendre conscience d'aller un peu plus loin dans leur développement pour protéger un minimum leurs créations.

Concenant le "mauvais développement de MSN.fr" j'ai juste vu que la majorité des chaînes de caractères comme les messages d'avertissement étaient "en dur" dans le code une pratique pas réellement recommandée surtout si l'on désire traduire le logiciel dans l'avenir. Rien de bien grave mais ça me choque un peu et comme ce n'est vraiment pas important ça n'apparait que dans un de mes commentaires personnels. C'est donc juste un avis :)

Toi qui se dit être professionnel n'hésites pas à te présenter au lieu de te cacher sous un pseudo "Utilisateur Inconnu" ;)
 16/11/2010 11:59:19 - La Mouette
L'appli s'appelant MSN.fr je pense qu'ils ont pris le parti de ne pas s'ennuyer plus que ça avec la localization, ce qui fait un gain de temps conséquent.
 16/11/2010 12:02:04 - Christophe - Le Webmaster ...
C'est également vrai mais ça surprend ;)
 16/11/2010 12:04:06 - Danuz
En parlant de localisation, je suis en train d'écrire une série de 2 articles sur les façons de le faire sous Windows 6.5 et sous WP7 :-). Je vous donnerai les liens une fois que c'est fait, mais par contre, ça s'adresse à 100% des devs (^__^).
 16/11/2010 12:09:53 - Danuz
il fallait lire Windows Mobile 6.5 ....
 16/11/2010 12:14:18 - Christophe - Le Webmaster ...
On avait tous compris :)
 16/11/2010 17:12:34 - Lokii
"C'est marrant juste au moment où je viens de mettre en ligne cet article je reçois un message de la part de Microsoft qui explique aux développeurs comment protéger au mieux leurs applications et les procédures qiu'ils mettent oeuvre pour le faire. Comme quoi dans la vie on dit souvent que les grands esprits se rencontrent :)"
En même temps le truc fait polémique depuis qu'un site s'est amusé à référencer toutes les apps avec des liens pour télécharger le .XAP, c'est sans doute ça qui a fait que tu as posté cette news, et ça qui a fait que Microsoft a réagit ;) D'ailleurs Microsoft a également contacté le site en question et ce dernier a retiré tous les liens.

Sinon j'ai lu qu'il y avait deux logiciels pour rendre le code illisible dont l'un qui coûte 299$ (il n'est gratuit que temporairement) et l'autre il faut demander un devis et une personne qui a essayé on lui a donné un prix de 2000€ (lol), ajouté à l'abonnement à payer pour apparaître sur le Marketplace ça fait chéro pour un étudiant en informatique par exemple, j'espère que Microsoft ne va pas se priver d'une source importante d'apps intéressantes.
 16/11/2010 17:25:02 - Christophe - Le Webmaster ...
@Lokii : Non je n'ai pas posté cette news par rapport à un autre site que je ne connais pas d'ailleurs. Si tu as le lien je suis preneur. J'ai posté cette news car pour ma culture personnelle je voulais voir comment le dialogue réseau avec le Marketplace se faisait et je suis tombé sur ce truc que je trouve surprenant. Et pour les logiciels "masquant" un peu le code je donne déjà l'info dans mon petit article :)
 16/11/2010 17:31:20 - Danuz
@Loki : Il faut sécuriser les flux alors (^__^), ça coûte nettement moins cher que d'obfusquer son code ! Après, si l'on a des données sensibles, on peut jouer sur l'authentification de l'appli et qui utilise les fluxs, etc... Ya des moyens en tout cas ! :D (Pour ma part, je sécurise comme je disais plus haut les flux, et les échanges).

Dorénavant pour publier des commentaires il faut posséder un compte sur le Forum du site et s'authentifier

Créer un compte sur le forum du site

S'authentifier sur le site avec son compte personnel




Retour à la page principale du site