Mac4Ever Refurb Guide d'achat Apple - Des conseils sur toute la gamme Apple Débuter sur Mac
Fuite du HomePod : tout comprendre sur la plus grosse bourde d'Apple depuis des années !
Actu Dossiers Forum Photos/Podcasts Petites Annonces V.I.P.
4078 connectés

Fuite du HomePod : tout comprendre sur la plus grosse bourde d'Apple depuis des années !

Le 07/08/2017 à 14h09
Depuis quelques semaines, le « firmware » du HomePod -cette enceinte connectée prévue pour le mois de décembre dans les pays anglophones- a fuité sur la toile et pas un jour ne passe sans qu'il ne révèle ses petits secrets.



Mais qu'est-ce qui a fuité exactement ? Pourquoi le firmware contient-il des références à d'autres produits, comme l'Apple TV, l'Apple Watch ou même le prochain iPhone ? Pour tenter de comprendre ce qui se passe, nous vous proposons aujourd'hui une petite FAQ avec le développeur Pierre Blazquez, qui a suivi l'affaire de près. Si vous avez des questions, n'hésitez pas à nous les poser dans les réactions !

Qu'est-ce qu'il y a dans le HomePod ?

D’un point de vue technique, le HomePod est un appareil basé sur le matériel de l’iPhone 6 et qui fonctionne avec une variante d’iOS appelée audioOS.



En quoi audioOS est-il différent des autres OS d’Apple ?

En soit, pas grand chose. C’est un système basé sur la fondation commune à tous les OS : Core OS. Cela regroupe le noyau, nommé XNU (pour XNU is Not Unix), ainsi que quelques extensions. Apple fournit même un OS open-source qui repose sur ces fondations : Darwin. Darwin est au coeur de macOS, iOS, watchOS, tvOS et maintenant audioOS. Les sources de ces fondations sont consultables sur : https://opensource.apple.com.

Qu’est-ce qui a "fuité" exactement ?

Ce qui est sorti un peu (beaucoup) trop tôt de chez Apple est une mise à jour OTA (à distance). En effet, depuis iOS 5, Apple permet aux appareils iOS de se mettre à jour eux-mêmes. Ils ne téléchargent que la « différence » entre la version sur laquelle ils fonctionnent et la version de destination. Cela permet d’économiser de la bande passante, de la place sur les serveurs et sur les appareils, et enfin de se passer d’ordinateur (le fameux et grand « PC-free » lancé par Scott Forstall lors de la présentation d’iOS 5 à une foule en délire, exténuée de devoir passer par iTunes pour tout et n’importe quoi). C’est ce même mécanisme qui est à la manoeuvre pour tvOS et watchOS. D’ailleurs, l’Apple Watch ne peut être mise à jour que par ce biais (sauf dans les centres de réparation Apple où ils disposent d’un boitier spécial pour s’interfacer avec le port diagnostic de la montre, qui n’est rien d’autre qu’une variante du port Lightning de votre iPhone/iPad préféré). Ce n’est donc pas le système tel que téléchargé par iTunes qui s’est retrouvé dans la nature, mais un paquet OTA.


Les premières mises à jour OTA avec iOS 5 : plus besoin de Mac pour MAJ son iPhone !


Comment une « simple » mise à jour peut donc révéler tant de choses ?

Tout simplement car depuis iOS 9, Apple met à disposition en OTA non seulement les « différences » entre deux systèmes, mais aussi le système au complet. Cela avait fait grand bruit à l’époque dans le milieu. En effet, depuis le tout premier iPhone, Apple avait pour habitude de chiffrer tous les composants du système. Chargeurs de démarrage, noyaux, application, tout y passait. Y compris le logo de la Pomme au démarrage. Diverses techniques ont vu le jour pour déchiffrer ces données, requérant des failles de bas niveau dans l’appareil afin d’obtenir les clés de déchiffrement. Le dernier à posséder une telle faille est l’iPhone 4 (trouvée par Georges Hotz, aka Geohot).



Depuis l’A5 avec l’iPad 2, l’iPhone 4s ainsi que leurs successeurs, la surface d’attaque s’est réduite à un niveau purement logiciel et non plus matériel. En effet, une faille aussi bas niveau permet de complètement débrider et exploiter l’appareil (installer Android sur un iPhone 3G fut une expérience intéressante par exemple). Depuis iOS 10, Apple ne chiffre plus le chargeur de démarrage des appareils 32 bits ainsi que le noyau (32 bits et 64 bits), ce qui fait que ces techniques sont quasi-désuètes aujourd’hui.

Comment cette mise à jour OTA a-t-elle été découverte ?

Faisons un point sur le fonctionnement des mises à jour OTA. Apple poste sur ses serveurs un catalogue des mises à jours OTA disponibles. Ce catalogue indique quel paquet télécharger pour quelle version de base et pour quelle destination, en fonction de l’appareil bien entendu.



Périodiquement, l’appareil va consulter ce catalogue et regarder si pour son modèle, un nouveau paquet est disponible. Pour toujours avoir ce catalogue à l’oeil, un développeur a créé une application, un site web ainsi qu’un bot Twitter afin de le scruter périodiquement et d’automatiquement créer un tweet quand un nouveau système sort. Dans le cas présent, cette application a détecté un nouvel appareil, l’AudioAccessory1,1 équipé d’un système inconnu, iOS 11.0.2.

Le site est consultable ici : https://www.ipsw.me
Le bot Twitter est là : https://twitter.com/iOSReleases


De quoi est constitué un paquet OTA ?

Un paquet OTA est une archive ZIP qui contient un manifeste, les chargeurs de démarrage, un noyau, les programmes nécessaires pour effectuer la mise à jour et enfin et surtout une archive avec à l’intérieur tout ce qu’il va falloir patcher. Ce qui nous intéresse ici, dans le cas de HomePod, c’est l’archive, qui contient audioOS au complet (rappelez-vous, c’est une mise à jour OTA « complète »). Une fois cette archive extraite, audioOS s’est retrouvé dans le plus simple appareil devant les yeux aiguisés des amateurs de bidouilles.

Pourquoi audioOS a-t-il gâché la surprise des nouveaux appareils à venir ?

Revenons un peu en arrière. audioOS est une variante d’iOS, ce qui veut dire qu’ils sont très similaires, à tel point qu’ils partagent les mêmes frameworks* publics et ceux privés qu’Apple se garde sous le coude (ceux derrière l’écran d’accueil d’iOS par exemple), les mêmes applications (sauf celles qui ont besoin d’un écran, logique), et ainsi de suite. (* Un framework est une librairie de code compilée et prête à l’emploi :pourquoi réinventer la roue quand on peut appeler du code déjà existant ?)

Pour macOS, même topo, les développeurs ont à leur disposition des frameworks publics et privés. Certains sont mêmes venus d’iOS quand d’autres sont allés vers iOS (beaucoup de développeurs appellent d’ailleurs de tous leurs voeux qu’Apple apporte UIKit, le framework qui permet de créer des applications iOS, sur macOS).



Sur iOS, et ce depuis iPhoneOS 3.1 (ça date), tous les frameworks sont rassemblés dans un gros cache appelé dyld* shared cache (pour résumer, un cache partagé). Ce cache est situé dans /System/Library/Caches/com.apple.dyld/dyld_shared_cache_armXX (v6 pour les iPhone, iPhone 3G, v7 pour iPhone 3Gs jusque iPhone 5c, 64 pour l’iPhone 5s et supérieurs). (* dyld est le nom du programme chargé de « coller » les frameworks à l’exécutable principal. Quand une app va se lancer, dyld va aller chercher dans le cache tout ce qu’il faut pour que l’app démarre.)

Comme nous l’avons vu, la version d’audioOS qui fut relâchée un peu vite est basée sur iOS 11. Et comme les choses sont bien faites, audioOS 11 partage beaucoup de code avec iOS 11. Y compris les frameworks. Qui se retrouvent donc dans le dyld shared cache.

Pourquoi on n’a pas trouvé ces frameworks dans les versions bêtas d’iOS 11, alors ?

Parce qu’Apple fait bien le ménage... en général. Les versions bêtas d’iOS 11 sont épurées de tout ce qui touche de près ou de loin à des appareils qui ne sont pas encore disponibles. Quand Apple compile une build* d’une bêta d’iOS, les éléments sensibles sont automatiquement expurgés. (* Une build est un assemblage de tout ce qui forme un logiciel pour donner le produit fini. Cet assemblage est estampillé d’un numéro. Par exemple, la dernière bêta d’iOS 11 est iOS 11.0 build 15A5327g.) Là, quand les ingénieurs d’Apple ont assemblé cette build d’audioOS, aucun nettoyage ne s’est fait car cette version n’aurait jamais du se retrouver dans la nature, en tout cas aussi tôt dans le cycle de développement du HomePod.

Comment fait-on pour analyser un produit fini ?

Il y a plusieurs solutions de retro-engineering (ou ingénierie inverse, l’art de partir du résultat final pour comprendre son départ). L’une des premières et des plus simples est l’analyse des chaines de caractère (du texte). Aucune connaissance particulière n’est requise. Quand vous installez Xcode, un utilitaire CLI* nommé « strings » est également installé. Cet utilitaire va extraire toutes les chaines de caractère d’un fichier binaire. Il suffit de lire le résultat pour faire de bonnes trouvailles (la reconnaissance faciale « Pearl ID » a été identifiée par cette technique). (* CLI veut dire Command Line Interface, ou Interface en Ligne de Commandes. Il s’agit donc d’un programme à exécuter dans le terminal.)



Par exemple, dans Terminal sur votre Mac avec Xcode, tapez

strings /System/Library/PrivateFrameworks/FinderKit.framework/FinderKit


...et admirez le résultat :).



Il y a également des techniques plus élaborées qui permettent de déterminer le code d’origine d’un fichier binaire. Cela s’appelle la décompilation (à ne pas confondre avec le désassemblage qui consiste à donner le code en langage assembleur, plus proche du langage machine utilisé par les processeurs). Il faut bien sûr avoir de solides connaissances pour comprendre le résultat et l’enchaînement des instructions ainsi obtenues. Un excellent utilitaire pour ça est « Hopper », un logiciel payant développé en France. Il fonctionne sur macOS et Linux. Il produit de très bons résultats et est très proche des standards d’Apple quant à son utilisation. C’est grâce à Hopper qu’ont été découvertes les fonctionnalités GSM de la prochaine Apple Watch par exemple.

Quel crédit accorder à ces découvertes ?

Habituellement, quand Apple « partage » intentionnellement une information, elle passe par ses « portes-paroles officieux », ces bloggeurs/rédacteurs/journalistes qui sont dans ses petits papiers. Les fuites en provenance de Chine sont le fait de personnes désirant arrondir leur fin de mois en revendant sur le marché noir asiatique des pièces détachées venant des chaînes de production.



Ici, sauf si Apple nous a vraiment menés en bâteau depuis tout ce temps, nous parlons vraiment d’une bourde qui n’a rien d’intentionnelle. Niveau crédit, c’est donc assez élevé.

Mais pourquoi quelqu’un a-t-il cliqué sur le gros bouton rouge pour sortir cette mise à jour OTA dans la nature ?

Il ne fait aucun doute que des versions préliminaires du HomePod sont déjà utilisées en dehors du campus de Cupertino. Les ingénieurs ont probablement voulu sortir une mise à jour pour adresser des problèmes rencontrés lors de tests « dans la nature » avant la sortie officielle en décembre, mais ils ne s’attendaient pas à ce qu’il soit intercepté de la sorte.

Une autre théorie serait que les ingénieurs aient été distraits dans leurs tâches par un poney qui passait dans les labos de R&D, mais naturellement personne ne se risque à confirmer cette information ^^.
partage email

Concours iPhone 7/ Volpy : bravo à notre gagnant !

iPhone 8 : la découpe de l'écran pourrait faire exploser la facture

chargement des réactions

Réagissez à ce dossier !

Pour réagir directement dans le forum, cliquez ici.
Pour réagir, vous devez être identifié.
Si vous ne possédez pas de compte, créez-en un !
Identifiant :
Mot de passe :
Gras Italique Souligné Image URL Smiley confus Smiley cool Smiley M. Vert Smiley malsain Smiley mort de rire Smiley geek Smiley surpris
Important : soyez concis, courtois et pertinents. (plus d'infos ?) Les messages injurieux et hors sujet seront effacés. En cas de non respect de ces instructions, le compte d'un utilisateur pourra être bloqué sans préavis.
Pour toute erreur dans un article, merci de nous le signaler en nous contactant ici.

Conseils d'achat

  • Macintosh

  • iPhone, iPad & iPod

iMac 27" 5k Indicateur vert Informations 06/2017 2099 € L'iMac 27" (Retina) a été mis à jour le 5 juin 2017 avec Thunderbolt 3, GPU dédié et puces Kaby-Lake. Pas de mise à jour prévue avant de longs mois !
iMac 21,5" 4k Indicateur vert Informations 06/2017 1499 € L'iMac 21,5" (Retina) a été mis à jour le 5 juin 2017 avec Thunderbolt 3, GPU dédié et puces Kaby-Lake. Pas de mise à jour prévue avant de longs mois !
Apple TV 4k Indicateur vert Informations 09/2017 199 € L'Apple TV 4k est une petite évolution de l'Apple TV pour les téléviseurs 4k. Il gère le HDR, le HDMI 2a et tous les codecs récents. Si vous avez une télévision OLED 4k, il s'agit du modèle idéal. Son prix est raisonnable par rapport à la version HD, qui reste au catalogue.
iMac Indicateur vert Informations 06/2017 1299 € L'iMac 21,5" (non Retina) a été mis à jour le 5 juin 2017 avec Thunderbolt 3 et puces Kaby-Lake. Pas de mise à jour prévue avant de longs mois !
Mac Mini Indicateur rouge Informations 10/2014 549 € Le Mac mini a été mis à jour fin 2014, avec quelques améliorations notables, comme Thunderbolt 2, WiFi ac. Son prix a également fortement baissé, mais au prix d'un boiter moins évolutif (RAM soudée) et d'absence de quadri-coeur. Une renouvellement pour la rentrée (voire fin 2017) est possible, même si Apple n'a pas l'habitude de mettre à jour cette machine très souvent. Regardez aussi du côté du Refurb, où l'on trouve régulièrement des modèles à partir de 459€ !
Mac Pro Indicateur rouge Informations 10/2013 3339 € Apple a annoncé un nouveau Mac Pro courant 2018 (voire 2019), plus modulaire et moins fermé que la version actuelle. Dans tous les cas, surtout n'achetez pas les modèles "tube" datant de 2013 et désormais assez dépassés.
MBP Retina 13" Indicateur vert Informations 06/2017 1749 € Le MacBook Pro 13" a été mis à jour le 5 juin 2017, avec peu de nouveautés, en dehors du passage à Kaby-Lake. Vous pouvez acheter tranquillement, aucune mise à jour prévue avant de longs mois !
MBP Retina 15" Indicateur vert Informations 06/2017 2799 € Le MacBook Pro 15" a été mis à jour le 5 juin 2017, avec peu de nouveautés, en dehors du passage à Kaby-Lake et de "nouveaux" GPU. Vous pouvez acheter tranquillement, aucune mise à jour prévue avant de longs mois !
MacBook Air Indicateur orange Informations 06/2017 1099 € Le MacBook Air a été "mis à jour" le 5 juin 2017, avec des fréquences légèrement supérieures, mais aucune autre nouveauté. Cette machine est en fin de vie et Apple ne lui accordera plus aucune vraie mise à jour. Achetez le plutôt sur le Refurb !
MacBook Indicateur vert Informations 06/2017 1499 € Le MacBook Pro a été mis à jour le 5 juin 2017, avec peu de nouveautés, en dehors du passage à Kaby-Lake. Vous pouvez acheter tranquillement, aucune mise à jour prévue avant de longs mois !
Apple TV 2015 Indicateur vert Informations 10/2015 159 € L'Apple TV 2015 est sortie fin 2015 et Apple le garde au catalogue malgré l'arrivée de la version 4k. Avec en prime, une petite baisse de prix ! Si vous n'avez pas de TV 4k, cela reste une bonne affaire.
Téléchargez nos
applications mobiles
À découvrir sur Mac4Ever
b 1  b 2 
Mon Mac4Ever
Pour participer, vous devez être identifié.
Si vous ne possédez pas de compte, vous pouvez en créer un gratuitement !
Identifiant :
Mot de passe :
Sondage
Utilisez-vous iTunes pour installer des apps iOS ?
2370 votes
app
A propos | Mentions légales | Contacts | Emploi | RSS | Apps