Le piratage des consoles: un parcours d'apprentissage (partie 2)
Introduction:
Bonjour, et bienvenue à cette deuxième (ou première, selon votre niveau de calcul) de mon parcours d’apprentissage. Ne vous inquiétez pas, ce nom est temporaire et je parlerai de suggestions jusqu’à ce que je trouve un nom plus approprié.
Dans mon post d’introduction, je… eh bien, je vous ai présenté ce que cette série allait être, et je vous ai dit en terminant que je comptais utiliser une distribution Linux Debian pour effectuer la majeure partie du piratage. J'ai rapidement rencontré des problèmes que je vais expliquer ici et j'ai dû passer à Windows, ce qui m'a fait reconsidérer un peu les choses. Je changerai dorénavant de système en système en fonction de ce qui fonctionne le mieux. Cependant, si vous pouvez faire en sorte que tout ce que je fais fonctionne sur une autre plate-forme, veuillez faire ce que vous préférez, car il n’y aura pas beaucoup de différence en dehors des procédures d’installation.
Résumé du jour:
Ce que je pense que je ferai souvent dans cette série est un résumé de la journée pour que le lecteur ait une idée des sujets abordés dans le post actuel.
Pour un premier post, je pensais que faire simple était la meilleure décision. Se lancer dans un domaine aussi technique n’est pas une tâche facile. Il est donc préférable de se concentrer sur un concept «simple» à la fois, surtout au début.
Pour toutes ces raisons, le sujet d’aujourd’hui sera les exploits de PSP gamesave. La PSP est déjà relativement ancienne, ce qui signifie deux choses: premièrement, accéder aux exploits et aux écritures sera beaucoup plus facile que sur des consoles plus récentes. C’est une bonne chose, car notre objectif est de comprendre le piratage informatique, et non de faire une découverte décisive. L’autre chose que nous pouvons déduire n’est pas très bonne pour nous, cependant. Étant donné que la scène PSP n’est plus active, les outils dont nous aurons besoin pour démarrer ne seront probablement pas maintenus, ce qui signifie que nous pourrions avoir des difficultés à les utiliser sur un système d’exploitation récent.
Commencer:
Si nous suivons le guide 2009 de Wololo sur les exploits de gamesave sur PSP, nous pourrons dresser une liste des outils nécessaires:
- Le plugin Savegame Deemer
- PSPLink
- Une PSP avec son câble USB
- Un éditeur hexadécimal
- Un cerveau
Jusqu'ici, tous ceux qui veulent suivre devraient au moins disposer de la PSP et du câble. En dehors de cela, nous allons commencer à faire en sorte que PSPLink fonctionne, à installer Savegame Deemer, et peut-être à me donner un cerveau s'il me reste du temps.
Quand j'ai commencé à écrire cet article, j'étais très impatient de commencer et j'ai commencé par installer PSPLink et les outils qui vont avec. Je passe trop de temps à essayer de tout faire fonctionner sous Debian et dans VirtualBox, car je travaillais avec un site Web défectueux (ps2dev.com, qui héberge les projets PSPSDK et psptoolchain, est en panne depuis longtemps. [Note from wololo: this was such a great resource for all console enthusiasts out there. The internet archive has a snapshot from 2008]) et n’a pu obtenir quoi que ce soit en compilant les projets à partir de la source.
Après avoir passé une semaine entière à essayer de faire fonctionner différents outils sur Debian, j’ai abandonné l’installation et installé le PSPSDK minimaliste sous Windows. Heureusement, cela a fonctionné presque immédiatement, alors ce sera notre solution de choix ici. Voici le lien. Les plugins nécessaires au bon fonctionnement de psplink se trouvent tous dans le dossier «C: pspsdk psplink» de votre disque dur après l'installation de ce logiciel.
La sauvegarde deemer était très facile à installer sur la PSP, car c’était juste un fichier .prx à mettre dans le dossier seplugins de la PSP et à activer. J'ai trouvé un code de chasse aux œufs de Pâques Wololo sur la page de téléchargement, ce qui était amusant, mais cela a été fait très rapidement.
Un mot rapide pour que les plugins fonctionnent: vous devez placer les différents fichiers .prx dans le dossier «seplugins» de votre PSP, et ajouter une ligne avec leur nom de fichier suivi d'un espace et d'un «1» dans deux fichiers appelés « game.txt ”et“ vsh.txt ”.
J'ai également installé HxD sur mon ordinateur en tant qu'éditeur hexadécimal, mais en ce qui concerne le cerveau, je ne parviens toujours pas à en obtenir un. Je suppose que nous devrons simplement nous en passer pour le moment.
Le piratage:
Et, enfin, nous arrivons à la partie de piratage proprement dite. C’est là que je ferai régulièrement tout ce qui est en mon pouvoir pour suivre les traces de la scène afin d’expliquer mon processus d’apprentissage, mes obstacles et ma longue expérience du sujet à l’examen.
La première chose à faire est de mettre la main sur un jeu vulnérable, qui serait ici la démo japonaise de Phantasy Star Portable. Étonnamment, j'avais un UMD japonais de ce jeu qui traînait, je vais donc pouvoir travailler avec la version complète. N'oubliez pas les enfants, le téléchargement de ROM de jeux que vous ne possédez pas déjà est illégal et ne devrait en aucun cas être effectué.
Je devrais également établir que certaines connaissances en programmation sont préférables car je n’expliquerai aucun code que j’utilise ici, à l’exception de la partie spécifique au piratage. Maintenant, passons au piratage.
Pour commencer, vous devez relier votre PSP à votre PC à l'aide d'un câble USB vers mini-USB. Windows ne reconnaîtra pas votre console en tant que périphérique, toutefois, jusqu'à ce que vous installiez un élément appelé «pilotes PSP de type B». Mais ce ne serait pas amusant si c'était facile et simple à faire, alors passons à autre chose.
Étant donné que Microsoft est très attaché à la sécurité de sa plate-forme Windows, l’installation de pilotes non signés arbitraires n’est pas la chose la plus simple à faire. Vous devez démarrer dans un mode spécifique, puis utiliser un outil appelé libusb-win32 pour effectuer le travail. La manière la plus simple de faire la première partie consiste à cliquer sur «Redémarrer» dans le menu Démarrer tout en maintenant la touche SHIFT enfoncée, jusqu'à ce qu'un écran spécial s'affiche et vous offre une foule d'options. Vous devez naviguer sous «Dépannage», puis «Options avancées» et enfin «Paramètres de démarrage», qui est parfois masqué sous le petit texte «Plus d'options» dans les premiers choix. Il ne reste plus qu’à appuyer sur la touche F7 pour que Windows redémarre sans ces mesures de sécurité fastidieuses.
Une fois que vous êtes à nouveau connecté à votre session, vous devrez utiliser un petit logiciel appelé libusb-win32, qui permettra l'installation du pilote pour tout périphérique connecté à votre PC. Dans ce logiciel, il suffit de lancer le fichier «inf-wizard.exe» dans le dossier «bin», d'appuyer une fois sur «suivant» et de sélectionner le pilote PSP Type-B qui s'affiche (vous devez être n'importe où votre PSP sauf en mode USB, sinon le type A apparaîtra à la place). Vous devez ensuite enregistrer certains fichiers à l’endroit de votre choix et laisser le programme faire son travail. Si un message d’avertissement concernant le pilote non signé s’affiche, confirmez que vous savez ce que vous faites et poursuivez le processus.
Et maintenant que tout cela est réglé, vous devriez entendre un son USB Windows satisfaisant chaque fois que vous démarrez votre PSP alors que celle-ci est branchée. Si ce n'est pas le cas, assurez-vous de l'avoir tout fait correctement. rien ne fonctionne, essayez d'utiliser le plug-in RemoteJoy sur votre PSP pour le forcer à essayer d'interagir via USB, puis refaites le travail libusb-win32. Si tout fonctionne comme prévu, lancez simplement “usbhostfs_pc.exe” en tant qu'administrateur et “pspsh.exe” en tant qu'utilisateur normal dans le dossier “C: pspsdk bin”. Si votre PSP est connectée, vous devriez avoir un console en attente de votre entrée dans pspsh.exe.
Cela ne semble peut-être pas être le cas, mais nous sommes sur le point d'exploiter quelque chose sur notre console. Vous voyez, comme l'explique Wololo, il y a parfois des choses qui sont négligées pendant le développement du jeu, et les débordements de mémoire tampon en font partie. Vous voyez comment, lorsque vous nommez votre personnage dans n'importe quel jeu, vous avez une limite de personnage? Eh bien, si vous parvenez à écrire un nom plus long que le maximum autorisé, la fin de votre nom se retrouvera quelque part dans la mémoire de sauvegarde du jeu qui n'a pas été conçue pour cela, et qui sera peut-être lue à un autre moment de l'exécution du jeu. . Si le jeu n’empêche pas la lecture de noms trop longs pour son propre bien, nous pourrons alors écrire tout ce que nous voulons, là où nous ne devrions rien écrire.
Dans ce jeu, vous devez créer un personnage et nommez-le comme reconnaissable. Comme il s’agit d’un jeu japonais, la plupart d’entre vous ne seront pas en mesure de lire ce qui est écrit et je vous guiderai à travers les quelques menus dont nous avons besoin pour naviguer. Tout d’abord, appuyez sur le bouton START, puis sur le bouton O de “nouveau jeu” sur l’écran de titre. Vous serez alors présenté avec un personnage à droite et quelques options à gauche. Le seul que vous ne voulez pas utiliser est 戻 る (modoru), ce qui, comme l’a enseigné TheFloW, signifie «retourner». Au lieu de cela, vous voulez choisir の 設定 へ (tsugi no settei e), ce qui signifie «Au prochain réglage». N'oubliez pas que sur les consoles PlayStation japonaises, O est utilisé pour confirmer et X pour annuler. Il y aura éventuellement un paramètre appelé «» (namae), qui signifie «Nom»; vous devez écrire quelque chose dont vous vous souviendrez dans quelques minutes. Pour cet exemple, je vais utiliser «wololorocks!» Comme nom de personnage, puis passer au menu suivant en cliquant sur le bouton de configuration suivant. Vous devrez entrer un autre nom, qui ne doit pas nécessairement être le même que le dernier. Je vais utiliser “”, ce qui signifie “un”. Vous devrez appuyer sur O plusieurs fois de plus jusqu'à ce qu'une cinématique commence à jouer. Vous pourrez alors arrêter le jeu et revenir au menu principal de la PSP. Votre fichier de sauvegarde sera situé sous «PSP / SAVEPLAIN / ULJM0530900» dans le système de fichiers de votre PSP.
Une fois que nous ouvrons le fichier plus volumineux des trois fichiers dans HxD, nous remarquons que sous «Texte décodé», la première ligne indique «WÿOLÿOÿLÿOROCÿKÿSÿ.ÿ». Ceci, même ce foiré, pourrait vous rappeler quelque chose que nous avons écrit il n'y a pas si longtemps. Maintenant, si nous essayons d’écraser les données avec un texte aléatoire après l’écriture de notre nom, nous devrions pouvoir faire planter le jeu lors du chargement du fichier, qui est le point de départ d’un exploit. Si nous remplissons, disons, les 10 lignes suivantes avec la lettre «a» sous «Texte décodé» dans HxD et que nous chargeons le fichier de sauvegarde, des résultats intéressants pourraient survenir. Heureusement, lorsque nous démarrons le jeu et choisissons l'option «Continuer», nous voyons que notre nom est passé de «wololorock!» À «wololorocksN___________________» (c'est-à-dire 20 soulignements), et que nous sommes maintenant au niveau 97. Si nous essayons la sauvegarde… Eh bien, rien de spécial ne se produit, à ma grande déception.
Malheureusement, le jeu ne semble se planter que dans la version démo du jeu japonais. Mon UMD complet et pratique ne fera donc pas l'affaire aujourd'hui. Nous pouvons cependant changer de jeu en faveur de Gripshift, qui est un moyen bien établi d’exploiter un exploit, qui n’est pas écrit en japonais! Cela, cependant, viendra dans le prochain post de cette série, car je veux le garder en petits morceaux afin de ne pas écrire un roman de trois livres chaque article.
Conclusion:
Nous avons obtenu le bon fonctionnement du pilote PSP et de PSPLink et, même si aucun exploit n’avait été réalisé cette fois-ci, nous avons appris que les vulnérabilités ne sont pas facilement détectées et que même les méthodes les plus simples, telles que les crash-sauvegardes, ne sont pas fréquentes utile dans le piratage. La prochaine fois, cependant, nous reproduirons le célèbre exploit Gripshift, qui devrait être beaucoup plus épanouissant et plus fonctionnel pour notre propos. J'espère vous avoir ici pour mon prochain post, donc à la prochaine fois, adieu.