Ces dernières semaines ont vu l'intérêt s'accroître pour le piratage de l'IOS, le "firmware" de la Wii. Mais qu'en est-il ? Que peut-on réellement "faire" sur celui-ci ? Bushing nous éclaire en cliquant sur suite ...
Dans le but de nous apprendre les bases du hack de la Wii, Bushing nous a préparé un long article à propos de l'IOS, qui est le "firmware" de la Wii. "Je pense que beaucoup de gens ont une hypothèse erronée que je désapprouve. Au contraire, je pense que c'est une direction passionnante, mais je veux faire en sorte que les gens aient des attentes réalistes."
Tout savoir sur l'IOS :
- Limitations: l'IOS est le responsable de la plupart des choses que vous ne voyez *pas* lors de l'utilisation de votre Wii. Il ne peut pas faire du graphisme et probablement pas non plus de son. Nous ne savons pas encore si il est possible de lire le pad GameCube ou les boutons avant (power, reset). Actuellement, tout ce que nous avons est huit broches GPIO que la chose utilise pour les diagnostics de démarrage. Marcan a fait de l'excellent travail dans ce domaine, plus récemment, il a pu patcher l'IOS afin de réorienter le défaut de sortie sur USBGecko - si vous n'en possédez pas déjà un, il serait bon de sortir et d'en obtenir un si vous êtes intéressé pour participer.
- Réseau: l'IOS gère actuellement l'ensemble du hardware (matériel) qui est unique à la Wii (par rapport à la GameCube) - donc, le Flash NAND, la fente pour la carte SD, le Wi-Fi, l'USB (à un niveau faible selon libusb). Il a une véritable machine virtuelle qui est capable de fonctionner avec un simple, language ressemblant à du JavaScript, et de l'exécuter sur les communications HTTP (web), SSL et SMTP (email) - c'est WiiConnect24, et il est à peine utilisé par Nintendo.
- Les ressources partagées: le PPC et Starlet (coeur ARM) se partagent les deux domaines de la mémoire; l'IOS pourrait probablement être utilisé pour patcher le code PPC (si quelqu'un se penchait sur le sujet et écrivait le code pour que cela se produise). Les deux peuvent contrôler le EXI bus. Ils partagent le bus USB (l'IOS a des pilotes pour des périphériques USB HID et pour l'adaptateur Ethernet USB; le PPC a le module pilote Bluetooth).
- Exigences: [...] remplacer entièrement l'IOS (tout en continuant à jouer à des jeux) est sans doute irréalisable et n'en vaut pas vraiment la peine. Au lieu de cela, nous allons le patcher, l'étendre, et écrirons de temps à autre des remplacements spéciaux pour des buts spécifiques limités (comme un réparateur de bricks).
- La piraterie: Nous ne sommes pas en train de faire un "soft-mod" ou un quelconque isoloader. La plupart des protections anti-DVDR de la Wii se font dans le hardware (matériel); supposant que Nintendo ait conçu cela correctement, nous ne serons pas en mesure de contourner ce logiciel. Les homebrews ont toujours été notre objectif, et nous n'avons pas l'intention de poursuivre activement quelque chose qui serait une violation du DMCA. (Ceci étant dit, je ne crois plus que Nintendo puisse faire la différence entre ce que nous faisons et ce que peuvent faire les pirates; également, Nintendo et BroadOn ont déjà fait quelques erreurs assez grosses dans le passé, qui ont permis au piratage de la Virtual Console de se mettre en oeuvre plus facilement.)
- Sécurité: Il s'agit d'un gros mal-entendu. Il y a des façons très spécifiques où vous pouvez vous faire bais** par l'IOS en le hackant :
o Corrompre les fichiers de configuration, requis par le Système Menu. Quand cela démarre, il se penche sur les autres titres installés dans la NAND pour construire le chaîne principale d'affichage, ce qui a été responsable de plusieurs bricks que les gens ont pu expérimenter avec les bannières. Ces accidents sont parfois plus faciles à réparer que le code bugs actuel.
o "Tamper" à l'inconnu. Nous n'avons pas bien compris le BC, mais dans tous les cas, il est similaire au boot1. Il charge le boot2. Il semble être géré par le Système Menu lorsque vous lancez un jeu GameCube. Je devine que le Système Menu lance le BC, qui lui-même lance le boot2 qui va lancer le MIOS qui gère votre jeu GameCube; si cela est juste, alors la modification du boot2 pourrait empêcher le chargement du BC. Si le BC est utilisé ailleurs, cela pourrait alors avoir de mauvaises conséquences. o Corrompre le fichier système. L'IOS est le moteur qui maintient le fichier système NAND, si il découvre des problèmes, sa première réaction semble être d'éliminer complètement et de recommencer, et il n'y a pas de rétablissement à la suite de cela.
- Redondance: maintenant que je vous aie fait peur, il y a quelques bonnes nouvelles. La Wii peut contenir environ 200 différentes versions d'IOS, et il ne chargera une version d'IOS uniquement en cas de besoin par un ou une DMT explicite ES appellé(e) par un homebrew. Cela signifie qu'il est possible, et surtout sans danger, d'expérimenter une version d'IOS inexistante, c'est-à-dire l'IOS5 ou l'IOS16. Vous pouvez même patcher des versions existantes de l'IOS, tant que vous vous assurez d'avoir une façon d'exécuter du code si l'IOS venait à ne plus fonctionner. Ceci crée également un défi unique, tout ce qui exige des changements fondamentaux est gardé sur le système, ce qui signifie que vous devrez modifier chaque version d'IOS pour obtenir un résultat fonctionnant : le meilleur exemple serait d'ajouter un plus grand Flash NAND pour les puces. Il n' y a pas encore un moyen sûr de le faire, parce que nous n'avons pas encore un moyen de réparer un accident malencontrueux, comme une erreur dans le patchage de toutes les versions d'IOS.
"Attendez-vous à en apprendre plus à ce sujet dans l'avenir; Marcan a déjà écrit un grand article sur nos futurs plans, que vous pouvez lire si vous parlez l'espagnol. Je libérerai du code dans un proche avenir afin de rendre plus facile l'expérimentation de l'IOS, mais j'ai averti que ce serait un très mauvais choix pour un premier projet de programmation.
S’il vous plaît, essayez de garder toute discussion à un plan technique; je ne suis pas d'humeur pour les arguments, mais je vais essayer de répondre à toutes les questions que vous pourriez avoir. Mais avant tout, veuillez lire ces liens avant que nous ne commencions (à donner le code)" (tout est en anglais) :