[TUTO] Jailbreak ps3: part1: compiler PsGroove sur un ATmega32

Intro:

Il y a un peu plus d’un mois, la Playstation 3 a été crackée, le crack permet de lancer des applications homebrew et même des backup de jeux…

Pour réaliser cet exploit, il faut un périphérique capable d’emuler des périphériques USB fictifs reconnus par la playstation…

Depuis qu’une version du code source existe en open-source, on a vu des portages sur toutes sortes de périphériques:

  • Calculatrice
  • Iphone sous android
  • Carte de développement AVR
  • Pic2550, Pic4550

la solution présentée ici consiste a créer votre propre carte, pour moins de 10 Euros…

Dans cette première partie, on s’occupera de la partie logicielle, puis viendra la réalisation de la carte…

Pour faire tourner psgroove, il faut un microcontrôleur qui intègre l’usb, oui mais voila ces micro sont chers et souvent en CMS… Heureusement pour nous, un certain timwu à réussit a adapter le code psgroove pour des micro low-cost d’atmel. Il utilise pour ça l’excellente librairie v-usb. Cette dernière permet de créer une interface usb de façon logicielle. Dans ces quelques lignes je vais expliquer comment compiler son code pour un atmega32…

Pour compiller, il vous faut:

  • une distrib linux, ici ubuntu
  • une connexion internet

pour créer votre propre carte:

  • un atmega32 : 3€
  • un quartz 16mhz 0.5€
  • deux condos de 27pf 0.1 €
  • un condo de 100nf 0.1€
  • quelques résistances (2x68r,  1×4.7k,  1*2.2k) 0.2€
  • un bout de cable usb : gratuit
  • deux diodes Zener 3.6v : 0.3€
  • un programmateur d’atmel, (ici un clone stk500) 15€ sur ebay

en gros moins de 5€ (20€ si vous n’avez pas de programmateur)

1. Compilation:

Installez git (si pas déjà fait), un utilitaire qui nous permettra de télécharger le source: Dans un terminal, tapez:

sudo apt-get install git

Pour telecharger le source vers le répertoire courant. Dans le terminal, tapez:

sudo git clone git://github.com/timwu/psgroove.git

Dans le répertoire  courant (par défaut « dossier personnel » sous ubuntu), un dossier « psgroove » vient d’être créé, il est en lecture seule donc copiez le ailleurs pour pouvoir modifier les fichiers qu’il contient sans problèmes de permissions… dans mon exemple il s’appelle « psgroove_copie »

Pour un atmega32: Il faut modifier les fichiers suivants:

Ouvrez « psgroove_copie » Dans le dossier  « Board », créez un dossier « ATMEGA32« , dans ce dossier ATMEGA32, créer un fichier « config.h » avec à l’intérieur: (vous pouvez changer les sorties des leds et de l’USB comme vous voulez)

#ifndef _PIN_CONFIG_H_
#define _PIN_CONFIG_H_

#define USB_CFG_IOPORTNAME D
#define USB_CFG_DMINUS_BIT 3
#define USB_CFG_DPLUS_BIT 4
#define USB_CFG_PULLUP_IOPORTNAME D
#define USB_CFG_PULLUP_BIT 2
#define GREEN_LED_PORT C
#define RED_LED_PORT C
#define GREEN_BIT 2
#define RED_BIT 3
#endif // _PIN_CONFIG_H_

revenez dans le répertoire « psgroove_copie » et modifiez le fichier « Makefile »:

modifiez les lignes « MCU= »et « BOARD = » comme suit:

# MCU name
MCU = atmega32

# Corresponds to a particular directory in the Boards subfolder.
BOARD  = ATMEGA32

Puis, dans psgroove.c:

modifiez les lignes:

/* Disable clock division */
clock_prescale_set(clock_div_1);

/* Setup timer */
TCCR1B = 0×03;  /* timer rate clk/64 */
TIMSK1 = 0×01;

en

/* Disable clock division */
//clock_prescale_set(clock_div_1);

/* Setup timer */
TCCR1B = 0×03;  /* timer rate clk/64 */
TIMSK = 0×04;

Pour pouvoir lancer les backups de jeux ps3, il faut modifier le fichier « descriptor.h » cherchez:

0×78, 0×78, 0×78,
0×78

et remplacez par:

0×62, 0×64, 0×76,
0×64

Ouvrez un terminal et placez vous dans votre dossier « psgroove_copie » (ex: chez moi: cd psgroove_copie)

Pour installer le compilateur AVR-gcc tapez les commandes suivantes:

sudo apt-get install gcc-avr

sudo apt-get install avr-libc

sudo apt-get install gdb-avr

Pour compiler, tapez

make clean

puis

make

vous devriez retrouver dans votre dossier « psgroove_copie », un fichier « psgroove.hex », c’est votre code compilé et prêt a être flashé dans l’atmega, vous connaissez la suite, sinon, faites une recherche de avrdude sur google… pour la configuration des fusibles, il faudra désactiver le JTAG ( ou déplacer les leds du port C ), il faudra aussi activer le quartz externe à haute fréquence soit une configuration des fusibles comme ceci:

high=0xD1 low=0xBF

Tags : , , ,

Une réponse à “[TUTO] Jailbreak ps3: part1: compiler PsGroove sur un ATmega32”

  1. short term loans…

    [TUTO] Jailbreak ps3: part1: compiler PsGroove sur un ATmega32 « Thomas’s Projects…

Laisser un commentaire

Vous devez être connecté pour publier un commentaire.