Les secrets de la Playstation 2

Hack natif

Le BB Navigator n’exploite pas cette faille, il fait mieux, il utilise une fonction officielle de la console. Une fonction intégrée dans chacun des BIOS de toute les PS2. Ici pas de faille, mais une méthode de démarrage similaire à celle du programme de lecture des DVD Vidéo. Comme nous l’avons vu, sur les premiers modèles de PS2, si vous n’aviez pas installé le logiciel de lecture des DVD vidéo sur la carte mémoire, la console vous renvoyait un message d’erreur « DVD Player is not set up ».

 

image

 

Par contre, si ce logiciel de lecture est installé, la détection d’un DVD vidéo dans le lecteur lançait immédiatement le programme de lecture depuis la carte mémoire. C’est à dire que la détection d’un DVD vidéo dans le lecteur ordonne à la console de lancer un programme contenu à un emplacement précis et étant nommé d’une certaine façon. Sur la PS2, même sur les nouveaux modèles, il est possible de mettre à jour le logiciel de lecture de DVD. La version du logiciel peut être vue dans le menu de départ de la PS2 en appuyant sur « triangle ».

 

image--image

 

Ainsi lorsque vous faite une mise à jour, le logiciel de lecture de DVD s’installe sur la carte mémoire dans les dossiers suivant :

 

  • PS2 européenne : BEEXEC-DVDPLAYER

 

  • PS2 américaine : BAEXEC-DVDPLAYER

 

  • PS2 japonaise : BIEXEC-DVDPLAYER

 

image

 

A chaque fois qu’un DVD vidéo sera insérer, la console ira exécuter le programme de lecture contenu dans ces dossiers. Il en est de même pour le démarrage du BB Navigator. La différence est qu’il n’y a besoin d’aucun disque. On aurait pu penser par exemple qu’en remplaçant le programme de lecture de DVD vidéo par un autre programme (un loader par exemple) on pourrait lancer d’autres applications juste en insérant un DVD vidéo dans le lecteur. Mais avec la technique du BB Navigator inutile d’avoir un DVD vidéo ou un jeu PSX. Pas de « buffer overflow » non plus. La petite surprise, c’est qu’en regardant sur la carte mémoire après l’installation du BB Navigator on constate qu’il y a un nouveau répertoire contenant environs 2 Mo de fichiers dont 3 exécutables ELF. Sur une console japonaise ce dossier se nomme BIEXEC-SYSTEM. Si vous le supprimez ou que vous enlevez votre carte mémoire le BB Navigator ne démarrera jamais. Mais que se passe il lorsque vous prenez cette carte mémoire et que vous l’insérez dans une console PAL ? C’est simple, il ne se passe rien sauf si vous avez la bonne idée de renommer le dossier de base BIEXEC-SYSTEM qui correspond au modèle japonais en BEEXEX-SYETEM qui correspond a la version européenne. Et là que se passe il ? Il semblerait que le BIOS de la PS2 est l’instruction de démarrer directement à partir de la carte mémoire lorsqu’il rencontre le dossier B(i-u-e)EXEC-SYSTEM. Ainsi quand le dossier est renommé pour une PS2 européenne, la console plante, et ne démarre pas. Ce qui prouve qu’elle tente de démarrer à partir de la carte mémoire dans le dossier BEEXEC-SYSTEM. On peut donc en conclure que toute les PS2 possèdent cette fonction, mais tout comme les jeux PS2, ces fichiers sont zonés selon la console.

Boot files

En effet, les fichiers de démarrage présents sur la carte mémoire sont signés pour la console. Ils sont signé par rapport à l'ID unique des carte mémoire Sony, ce qui empêche toute copie. Si vous copiez les fichiers installé, il ne fonctionneront pas sur une carte mémoire dont l'ID est différente de la carte mémoire sur laquelle ils ont été installé à l'origine. Mais que ce soit sur les premiers modèles ou sur les PSTwo le démarrage se fait bien depuis la carte mémoire sans aucun disque dans le lecteur. De la même façon on peut se poser la question du fonctionnement de l’HDD Utility Disc que l’on peut trouver aux Etats-Unis. Selon les modèles de PS2, ce CD installe une application sur la carte mémoire qui permet de voir et de configurer un disque dur à partir du navigateur de la PS2. Cela sans CD ou DVD dans le lecteur. Le disque dur apparaît aux cotés des cartes mémoire et du jeu inséré dans le lecteur a ce moment là. La question qui se pose ici est :

 

image--->image

 

Est-ce une fonction prévue dans le BIOS ou une application qui prend le pas sur le menu de démarrage de la PS2 ? Dans le second cas, quel est le nom du dossier d’installation sur la carte mémoire ? Une chose est sûre, ce système de démarrage permet le lancement de n’importe quel programme sans aucun jeu, simplement par l’ajout d’exécutable dans un dossier bien précis sur la carte mémoire. Cependant il reste un inconvénient. Les exécutables PS2 sur la carte mémoire doivent être cryptés et signés pour pouvoir être exécutés. C’est le même principe que sur XBox. Il n’y a « que » Sony qui peut effectuer cette opération. Cela veut dire qu’il nous est impossible d’exécuter du code directement par l’intermédiaire de la carte mémoire sans que celui-ci ne soit signé. La solution de boot direct sur la carte mémoire tomberait-elle à l’eau ? Bien sûr que non, au contraire ce programme signé va servir à exploiter la faille découverte par Marcus R. Brown sur les premiers modèles de PS2 ce qui était impossible avant, mais aussi d’utiliser cette fonction sur les derniers modèles de PSTwo qui ont un BIOS qui corrige cette faille. Pour cela il faut comprendre ce qu’il y a d’installer dans ce fameux dossier BxEXEC-SYSTEM présent sur la carte mémoire.

C'est l'histoire d'un BIOS...

Le BIOS de la PS2 est cette petite puce que l’on trouve sur la carte mère et qui contient le firmware (microprogramme) vital au démarrage de la console. Toute machine numérique en possède un, votre carte vidéo, votre lecteur DVD-ROM ou même votre GPS. Le BIOS est obligatoire car c’est lui qui exploite et donne sa fonction aux différents composants qui l’entourent.

 

image--image

 

De plus, afin d’assurer la maintenance, le développement ou encore les tests de fonctionnement en fin de production, il arrive souvent que ce BIOS contienne des fonctions « caché » et réservés à ces applications. Cela va de la simple combinaison de touche sur des appareils électroniques simples (machine à laver électronique, Ipod…) pour effectuer une réinitialisation ou une séquence de test, à des fonctions plus avancées permettant entre autres d’accéder à des menus ou à des fonctionnalités supplémentaires. Le BIOS de la PS2 ne déroge pas à cette règle et contient son petit lot de fonctions cachées.

System's soul

Ainsi, l’une de ses particularités cachées est de pouvoir lancer un programme depuis la carte mémoire lorsque celui-ci est placé dans un dossier portant un nom bien spécifique (BxEXEC-SYSTEM) avec les fichiers ayant également un ordre et un nom reconnu par le BIOS de la console. En effet, cette fonction existe depuis les tous premiers modèles de PS2, et va bien plus loin que le simple chargement d’un programme. Nous sommes en face du chargement d’un BIOS mis à jour qui va remplacer celui de la console. En quoi cela nous intéresse-il ? C’est simple, le BIOS est le programme qui gère absolument toute la console, de l’initialisation des diverses puces qui la composent en passant par le système de zonage, de protection contre la copie ou le lancement de programmes cryptés et signés. Il serait donc possible, en théorie, de faire faire ce que l’on veut à la PS2 à la condition de pouvoir charger un BIOS alternatif. Cette méthode est connue depuis le début par la scène homebrew PS2 mais n’a jamais été utilisée pour diverses raisons d’éthique et de gros sous vis à vis de Sony. Imaginez pouvoir remplacer tous les modchip et « exploit » complexes de cette console par le simple chargement d’un programme depuis la carte mémoire. Le développement amateur et l’utilisation un peu moins honorable qu’est la copie en serait démultiplié. Qu’est-ce qui permet d’affirmer cela ? Simplement parce que cette méthode de démarrage depuis le carte mémoire existe depuis les première PS2 japonaise modèle SCPH-10000 et que les développeurs en font usage. Cette méthode n’est même pas utilisée par le système de démarrage du kit Linux qui à besoin du DVD pour démarrer, alors qu’il existe une solution beaucoup plus simple… Ce système est sans doute l’exploit ultime, car il fonctionne sur absolument tous les modèles de PS2.

Une histoire de modèles...

Il existe de nombreuses révisions de Playstation 2. Sony a toujours tenté de tirer sur les prix en conciliant cout de production faible et fonctionnalités réellement utilisées. C'est pourquoi tous ces modèles de PS2 sont tantôt équipés d'un port PCMCIA, d'une connectique FireWire (IEEE1394), ou d'un récepteur infra rouge intégré pour les derniers modèle connus. Chaque révision à vu la perte ou l'amélioration de certaines fonctionnalités plus ou moins utiles.

 

image--image

 

Mais, au delà de ces options que l'on peut visuellement identifiés il en existe d'autres que l'on ne peut décelés que lorsque l'on cherche plus en profondeur. Il s'agit par exemple de composants retirés à partir des modèles SCPH-30000 provoquant ainsi les célèbres bugs de Star Ocean 3 ou même à l'époque le refus de démarrer de Grand Turismo 3 sur les modèles supérieurs à SCPH-18000. Ainsi, il est surprenant de constater une procédure de démarrage un peu différente sur le dernier modèle grand public de PS2 supportant un disque dur, c'est à dire les version SCPH-30000 et supérieur. En effet, ces modèles ont la particularité d'intégré un BIOS prenant en compte toutes les périphériques optionnel que peut officiellement supporté la console. Par exemple, on trouve dans ces modèles la gestion et l'utilisation d'un disque dur, c'est à dire qu'il n'y a pas besoin de carte mémoire, ni du BIOS installé sur celle-ci. Ce fait engendre plusieurs conclusions :

 

  • Le support du disque dur est natif aux modèles SCPH-30000 et supérieur sous certaines conditions.

 

  • Il n'y a pas besoin de Memory Card pour l'utilisation du disque dur.

 

  • Il n'y a "pas besoin" de BIOS de remplacement.

 

  • Il n'y a "pas besoin" de CD ou DVD dans le lecteur.

 

  • Le BIOS des Playstation 2 modèles SCPH-30000 à SCPH-50000 intègre directement le driver pour la gestion du disque dur.

 

  • Les modèles précédent de PS2, ne peuvent pas activés le disque dur sans un BIOS mis à jour présent sur la carte mémoire.

 

Cependant, le plus important est la procédure de détection et d'initialisation du disque dur. On remarque que lorsque le disque est retiré la console n'affiche pas dans son menu d'option les réglages de la souris et du clavier. De plus, la version du navigateur est numéroté à 1.20 pour le modèle SCPH-50000 . En revanche si le disque dur est présent, la version du navigateur est a 2.00 et les options de réglage supplémentaires apparaissent.

 

image--image

 

Le navigateur mis à jour est donc charger depuis le disque dur sans aucune condition supplémentaire apparente (pas de carte mémoire requise, ni de CDDVD dans le lecteur de la PS2). Pourtant, il faut tout de même un déclencheur pour que le disque dur puisse être utilisé en tant que périphérique de démarrage :

 

  • Le disque doit être formaté par un utilitaire officiel comme l'HDD Utility.

 

  • Seul le disque dur officiel est supporté par cet utilitaire.

 

  • Le secteur d'amorce du disque doit être marqué comme actif par cet utilitaire.

 

  • Le disque doit être signé par cet utilitaire pour que le secteur d'amorce puisse être activé.

 

  • Si le disque est signé mais non marqué comme périphérique de démarrage la PS2 ne démarrera pas dessus (il faudra donc une memory card avec un BIOS de remplacement).

 

  • Le disque est marqué en tant que périphérique de démarrage seulement sur les consoles au delà des modèle SCPH-18000 (à partir des 30000).

 

Ces signatures indique au BIOS qu'il peut démarrer un système d'exploitation a partir du disque dur sans carte mémoire et sans disque dans le lecteur.

 

  • Seul les PS2 modèle 30000 et supérieur détecte le secteur d'amorçage.

 

L'explication de cette procédure de démarrage un peu différente s'explique par l'absence de certaines librairies dans le BIOS des premiers modèle. En effet, les PS2 SCPH-10000 a 18000 ainsi que les PS2 slim (PSTwo) ne contiennent pas le driver pour la gestion du disque dur. C'est ce qui explique par exemple que les "HD Loader" ou "HD Advance" ne fonctionnent pas sur les premiers modèles de PS2. Car comme ils ne peuvent pas contenir de libraires officielles, il font appel à celles contenue dans le BIOS.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.