Aller au contenu


Photo

Lancement de code non signé sur Xbox 360


  • Veuillez vous connecter pour répondre
45 réponses à ce sujet

Posté 17 août 2009 - 13:06

#1
artik

artik

    \0/ Shake it baby ! \0/

  • Administrateur
  • 9 889 messages
  • Sexe:Male
Bonjour à tous. L'idée m'est venue de créer ce topic, afin de faire le point sur la situation du hack delivré par la team Free60. Pour le moment, on a des infos, mais tout reste incomplet. Bien sur, chacun est invité si il le souhaite à apporter des infos àce topic, il évoluera aussi avec les news au fur et à mesure que les failles seront dévoilées.

Les acteurs :

Gogoackman : pret pour un portage de fbaxxx ? ;)
Soulheaven : fournisseur des cygnos, voir plus ?
Nounours59330 : recherche d'infos / technicien
Sadovich : technicien
_n3o_ : technicien / bidouilleur
Artik : technicien / bidouilleur

Le matériel :

- Une Xbox 360 non mise à jour disponible le 11 Aout
- Une puce Cygnos V2 http://consoles.libr...r-xbox-360.html
- 3 résistances 330 Ohm
- Des compétences en soudures

Les projets :

- Un portage de fbaxxx par Gogoackman (j'attends ses infos)
- Un portage de XBMC (je dois contacter la team XBMC)

Les infos :

-----------------------------------------------------
Maj 17 Aout :

Les lilbrairies Libxenon sont disponibles. Elles permettent de compiler du code sans avoir le sdk360 officiel.
http://www.free60.org/wiki/Libxenon
http://free60.git.so...fc4967b93c0c619

Un émuleur, Snes9x est déjà porté en 1 jour. Une vidéo de l'ému :

-----------------------------------------------------

http://www.logic-sunrise.com/news-40263-ne-mettez-pas-tout-de-suite-votre-console-a-jour-maj-video.html

D'après le site free60.org, une faille permettant le lancement de homebrews serait comblée en intallant la dernière version du NXE, disponible depuis aujourd'hui, en connectant votre console sur internet. C'est au niveau du 1er niveau de boot que la faille serait réparée, et depuis toutes les mises à jours qui existe, c'est jusqu'à aujourd'hui la seule à toucher à cette partie vitale permettant le boot du dashboard.

Sur environ 1000 mises à jour de faites, 1 console aurait un soucis. Etant donné que cette mise à jour touche cette partie de code si importante, le moindre soucis résulterait d'un non fonctionnement complet de la console. Cette mise à jour comble donc cette faille, que la team free60 exploite depuis un moment, alors qu'elle était proche de la releaser.

La faille permettait de lancer du code non signé, c'est à dire le lancement de n'importe quel homebrew, le tout sans puce, permettant ainsi de placer la Xbox 360 au même rang que la Xbox 1 en terme de hack.

C'est pour ça que Logic-sunrise vous invite à ne pas faire cette mise à jour, sauf si le lancement d'homebrews ne vous interesse pas. On vous tient au courant dès que des news arrivent de Free60.org.


Plan de montage de la puce Cygnos V2 :

Image IPB

build.py et montage résistances :

Suite à la publication d'une documentation complète concernant la mise en oeuvre de l'exploit Free60/KK voici quelques informations complémentaires pouvant faciliter quelque peu la mise en pratique.

Tout d'abord voic une photo d'un montage des 3 résistances 330 Ohm.
Rappel sur l'utilisation des 3 résistances :

Certains composants sont nécessaire afin d'utiliser le JATG pour paramétrer l'adresse DMA à utiliser dès que la séquence de boot se lance et tant que le JTAG fonctionne.
Au départ un microcontroller externe a été utilisé, mais il existe déjà un microcontroller, le SMC. Il y a quelques ports GPIO, qui sont au moins sur les cartes Xenon facilement accessibles.
Ils utilisent du 3.3V, de ce fait il est nécessaire d'ajouter quelques résistances pour maintenir un voltage de 1.8V permettant de conserver le niveau logic du GPU.
Les Zephyr et supérieures n'ont pas assez de GPIO disponibles, mais pas d'inquiétude, une autre solution a été trouvée.

Dans le cas ou vous utilisez le SMC hacké avec les GPIO, utilisez des résistance 330 Ohm pour connecter :

J1F1.3 --- [330R] --- J2D2.1
J1F1.4 --- [330R] --- J2D2.2
J1F1.5 --- [330R] --- J2D2.4

Image IPB
Note : ne tenez pas compte des fils verts, uniquement les rouges


Réalisation d'une image permettant de lancer l'attaque. Pour cela il est nécessaire d'utiliser un script python qui permettra de construire cette image à partir des différents fichiers.

Script python : http://free60.cvs.so...ree60/imgbuild/

Source : gx-mod

Exploit Free60 : tous les détails :

Un texte très intéressant a été rédigé par gx-mod, il est disponible à cette adresse : http://x360.gx-mod.c...hp?storyid=2174

Exploit Free60 : hack SMC et configuration JTAG

Toujours dans l'optique de mieux cerner l'exploit Free60/KK et d'entrer encore plus dans le détails de la documentation complète voici un complément d'information concernant le hack SMC ainsi que la configuration JTAG. Ces informations sont une traduction par Bono2007 d'explications de tmbinc sur Xboxhacker.net.

Configuration JTAG

Ici je veux décrire la séquence JTAG qui prépare un peu plus le controleur NAND. Lire le fichier hack.txt avant de poser des questions ici, c'est vital pour comprendre ceci

Rappelez-vous qu'on ne peut pas écrire l'adresse DMA cible depuis le SMC, donc nous avons besoin de faire ça via le JTAG. Tout cela a déjà été discuté sur le JTAG-thread (xboxhacker), mais reconsidérons ce que nous avons à écrire :

Code: write32(0xd0000018, 0x20100); // enable PCI bridge
write32(0xd0140010, 0xea00c000); // enable BAR0 for nand controller (to appear in pci space at ea00c000)
write32(0xd0140004, 0x6); // enable NAND, enable busmaster
write32(0xea00c00c, PAYLOAD_BASE + 0x20000); // address of exploit buffer, in flash (we could write this in SMC, too, but it's easier here)
write32(0xea00c01c, 0x00130360); // target address of main data (overwrites idle thread context and first stage exploit code)
write32(0xea00c020, 0x00002080); // target address of ECC data, overwrites HV offset

Nous devons aussi faire attention que cela arrive assez tôt, mais pas trop, puisque nous ne pouvons interférer avec le CPU. La 1e méthode implémentée dans un microcontroleur AVR était d'attendre simplement que l'IDCODE soit valide, attendre un peu et ensuite démarrer l'écriture JTAG

Les routines sont du genre :

static inline int j(int tdi, int tms)
{
int v = 0;
if (tdi)
v |= TDI;
if (tms)
v |= TMS;
set_bits(v);
set_bits(v | TCK);

int res = !!(get_bits() & TDO);
return res;
}


unsigned long long jtagn(int IR, unsigned long long val, int n)
{
j(0, 0); // if we were in TLR, nop if we are in RTI already

j(0, 1);
j(0, 1);
j(0, 0);
j(0, 0);
j_scanIR(IR);
j(0, 1);
j(0, 1);
j(0, 0);
j(0, 0);
unsigned long long res = j_n(val, n);
j(0, 1);
j(0, 0);
// and we are in RTI again
return res;
}
static unsigned long jtag32(int IR, unsigned long val)
{
j(0, 0); // if we were in TLR, nop if we are in RTI already

j(0, 1);
j(0, 1);
j(0, 0);
j(0, 0);
j_scanIR(IR);
j(0, 1);
j(0, 1);
j(0, 0);
j(0, 0);
unsigned long res = j_n(val, 32);
j(0, 1);
j(0, 0);
// and we are in RTI again
return res;
}

void write32(unsigned long addr, unsigned long data)
{
jtagn(0xe0, 3 | addr | (0xFULL << 32), 36);
jtag32(0xe1, data);
jtagn(0xe4, 1, 1);
}

void jtag_doit(void)
{
int i = 20;
while (i--)
{
volatile long j = 10000;
while (j--);
}
write32(0xd0000018, 0x20100);
write32(0xd0140010, 0xea00c000);
write32(0xd0140004, 0x6);
write32(0xea00c00c, PAYLOAD_BASE + 0x20000); // address in flash of exploit

write32(0xea00c01c, 0x00130360);
write32(0xea00c020, 0x00002080);
}

static void TLR(void)
{
int i;
for (i=0; i<5; ++i)
j(0, 1);
}


void main()
{
... hw init

while (1)
{
if (hack_state == 1) /* hacked */
{
TLR();
if (!is_valid_id(jtag32(0x50, 0)))
hack_state = 0; /* poweroff */
} else
{
/* power off */
TLR();
if (is_valid_id(jtag32(0x50, 0)))
{
jtag_doit();
hack_state = 1;
}
}
}
}


Tiros a fait un hack formidable en ajoutant ce code dans le SMC, donc nous avons juste besoin d'utiliser les résistances pour rendre le SMC capable de dialoguer au JTAG du GPU.


Hack SMC - Part1

Ici un petit howto sur le patch du code SMC. D'abord, rappelez vous que le code SMC est stocké dans la NAND de 0x1000 à 0x4000 (habituellement), et qu'il est encrypté, mais peut être décrypté de façon triviale. Le script imgbuild produit le SMC décrypté pour vous. C'est un code 8051, et c'est le code qui est en charge de booter le CPU, et il contrôle aussi des éléments hardware. Le CPU peut dialoguer au SMC via PCI-e, donc il y a une "command handling" dans le code. Il a plusieurs versions du SMC (même multiples pour un type de carte), mais utiliser n'importe quel SMC fait pour votre type de carte conviendra (ie la révision importe peu, mais il est important que ce soit fait pour votre type de carte, ie, Xenon/Zephyr/Falcon/Jasper)

Le hack fonctionne ainsi :

Juste au démarrage du kernel, le kernel demande le RTC depuis le SMC. C'est la command 04, qui est envoyée à travers les registres ea00108x. Dans le SMC, approximativement à l'offset 0x836 (diffère suivant les versions des SMC), il y a un code semblable (pseudo code pour éviter de coller de l'assembleur)

Code:if (A == 1) goto CMD_01;
else if (A == 4) goto CMD_04;
else if (A == 7) goto CMD_07;
else if (A == 0xa) goto CMD_0A;
else if (A == 0xF) goto CMD_0F;
...
suivez la CMD_04. La fonction finie par une série de "mov A, ; lcall write_fsr_d5". C'est la fonction que nous voulons hacker, et nous avons besoin de la fonction suivante :
"mov FSR_F5, 7"

Comme FSR_F5 est le registre de la command NAND (aussi accessible depuis ea00c0xx), et 7 est la commande "read physical page, DMA" . Encodé, c'est "75 f5 07", on doit donc réécrire "E5 30 12 xx xx" avant le "22" (ret) avec "75 f5 07 22", i.e. "mov FSR_F5, 7; ret".

That's it.
Source : gx-mod


heart.gifFlash de votre lecteur x360 (PARIS, RP, OU PAR LA POSTE) : heart.gif
tout lecteurs ! ** GARANTIE CONSERVEE ** samsung, hitachi, benq, liteOn - CLIQUEZ ICI
heart.gifcommentaires de gens qui ont fait appel à moi : heart.gif
http://cestvouslesbons.free.fr/gueux/page1.html
heart.gifLes meilleurs prix pour les abonnements au Xbox LIVE Gold : heart.gif
www.abonnement-xbox-live.com

  • Retour en haut

Posté 17 août 2009 - 15:03

#2
artik

artik

    \0/ Shake it baby ! \0/

  • Administrateur
  • 9 889 messages
  • Sexe:Male
Bon je viens de contacter la team XBMC, un portage est déjà en préparation par une team privée.


heart.gifFlash de votre lecteur x360 (PARIS, RP, OU PAR LA POSTE) : heart.gif
tout lecteurs ! ** GARANTIE CONSERVEE ** samsung, hitachi, benq, liteOn - CLIQUEZ ICI
heart.gifcommentaires de gens qui ont fait appel à moi : heart.gif
http://cestvouslesbons.free.fr/gueux/page1.html
heart.gifLes meilleurs prix pour les abonnements au Xbox LIVE Gold : heart.gif
www.abonnement-xbox-live.com

  • Retour en haut

Posté 17 août 2009 - 15:52

#3
SoulHeaven

SoulHeaven

    Technicien Légendaire

  • Shining VIP
  • 4 455 messages
  • Sexe:Male
  • Lieu:Dans le Sud
Pour info,

les 3 résistances ne sont pas utile pour le hack dont le détail n'a pas trop encore été rendu public

les 3 résistances ce n'est que pour les 1ère révision de carte mère.

Pour les falcon, opus et jasper faut attendre encore, mais les 3 résistances ne seront pas utiles

Librasoft Tourne une page...

  • Retour en haut

Posté 18 août 2009 - 01:54

#4
_n3o_

_n3o_

    ▪■▄█▓▒░ Pixélisé ▒▓█▄■▪▪

  • Newser Expert
  • 3 291 messages
  • Sexe:Male

Pour info,

les 3 résistances ne sont pas utile pour le hack dont le détail n'a pas trop encore été rendu public

les 3 résistances ce n'est que pour les 1ère révision de carte mère.

Pour les falcon, opus et jasper faut attendre encore, mais les 3 résistances ne seront pas utiles



Merci beaucoup pour cette precision SoulHeaven ... bon c'est ou pour commander une cygnos ? :D j'suis chaud bouillant là.
(d'ailleur en revoyant l'architecture de la 360 je sentirais bien un ptit OSX sur la 360, seul bemole, la ram :'()
  • Retour en haut

Posté 18 août 2009 - 09:17

#5
SoulHeaven

SoulHeaven

    Technicien Légendaire

  • Shining VIP
  • 4 455 messages
  • Sexe:Male
  • Lieu:Dans le Sud
Pour commander la cygnos : http://consoles.libr...r-xbox-360.html

Librasoft Tourne une page...

  • Retour en haut

Posté 18 août 2009 - 15:54

#6
artik

artik

    \0/ Shake it baby ! \0/

  • Administrateur
  • 9 889 messages
  • Sexe:Male
Soul, une cygnos V1, ça marche, non ? Si c'est le cas, je vais en choper une cette semaine ;)


heart.gifFlash de votre lecteur x360 (PARIS, RP, OU PAR LA POSTE) : heart.gif
tout lecteurs ! ** GARANTIE CONSERVEE ** samsung, hitachi, benq, liteOn - CLIQUEZ ICI
heart.gifcommentaires de gens qui ont fait appel à moi : heart.gif
http://cestvouslesbons.free.fr/gueux/page1.html
heart.gifLes meilleurs prix pour les abonnements au Xbox LIVE Gold : heart.gif
www.abonnement-xbox-live.com

  • Retour en haut

Posté 18 août 2009 - 16:26

#7
SoulHeaven

SoulHeaven

    Technicien Légendaire

  • Shining VIP
  • 4 455 messages
  • Sexe:Male
  • Lieu:Dans le Sud
Oui ça marche.

Les différences sont :
- la V1 Il me semble l'absence d'interupteur, il faut le mettre soit meme (Je crois)
- la V1 Plus complexe à poser, mais bon pour un bon puceur, c'est pas bien grave.
- la V1 ne propose pas en natif la possibilité de downgrade (pour les consoles compatibles TA)
- la suite logicielle de la V2 est plus aboutie.

Librasoft Tourne une page...

  • Retour en haut

Posté 19 août 2009 - 19:39

#8
artik

artik

    \0/ Shake it baby ! \0/

  • Administrateur
  • 9 889 messages
  • Sexe:Male
Note aux autres sites : Logic-sunrise autorise la copie complète ou partielle de ce tuto sur vos sites respectifs, sous réverve de citer cette source : http://www.logic-sunrise.com

Nous allons ici expliquer l'exploit Free60 qui consiste, sur une Xbox 360, à lancer du code non signé (hello world). Une fois cette faille bien exploitée, il sera possible à terme d'utiliser sa Xbox 360 comme media center pour lancer XBMC par exemple, ou bien des homebrews (émulatuers megadraive, super nintendo et tout le reste) voir même pouvoir lancer les jeux Xbox 360 directement depuis le disque dur, en gros faire comme ce qui était faisable avec une Xbox 1ere génération et plus puissant. Mais avant d'en arriver là, il y a beaucoup de chemin à parcourir, mais la base est là, il est désormais possible de lancer du code non signé sur la XBox 360. Ca fait 4 ans qu'on attendait cette merveille !

Ce tutorial a pour but d'expliquer tout la manipulation à faire pour hacker sa Xbox 360, et ainsi pour lancer du code non signé. AUCUNE PUCE N'EST NECESSAIRE

Matériel :

- Une Xbox 360 XENON
- Une prise port parallèle
- 3 résistances 330 ohms
- Nand Pro, disponible ici en téléchargement : http://www.logic-sun...3-nand-pro.html
- du matériel de soudure
- une PC avec un port parallèle (imprimante)

Réalisation du hack :

1 - Démonter votre Xbox 360

Vous trouverez le tuto ici : http://www.logic-sun...a-xbox-360.html

2 - Reliez les points de la carte mère aux points du connecteur port paralèlle ainsi que les résistances, par rapport aux couleurs du shémas suivant :

Image IPB

3 - Télécharger et installez Nand Pro, disponible ici en téléchargement : http://www.logic-sun...-nand-pro.html. Dézippez le pack, puis installez : port95nt.exe

Image IPB

Votre PC devra redemarrer. Une fois de retour sous Windows, Lancez ensuite une commande MsDOS (démarrer, éxécuter, cmd, puis entrée). Exécutez dans le repertoire dézippé : NandPro.exe puis tapez cette ligne de commande :

NandPro.exe lpt: -r16 nand.bin

Image IPB

NandPro va alors tester vos ports parallèles, puis commencer à récupèrer la nand de votre console. Gardez-la bien ;) Avec un port parallèle, l'opération peut prendre 30min. Une fois finie, vous obtenez votre nand.bin, d'un poid d'environs 16Mo

Image IPB

Image IPB

Image IPB

Une fois l'opération finie, vous revenez à la commande MsDOS, et votre nand.bin est en lieux sur !

Avec la ligne de commande NandPro.exe lpt: -w16 nand.bin vous ECRIVEZ la nand. il suffit donc de taper NandPro lpt: -w16 xenon_hacked.bin pour hacker votre 360 !

Et voilà, c'est fait !

Conclusions

LA LECTURE D'UNE NAND ECRASERA UNE ANCIENNE SI PRESENTE, SANS DEMANDER D'AVIS ! (attention donc si vous lisez plusieurs nand)

Merci donc à tous les acteurs qui m'ont filer un coup de main :
Xbox-scene, redline99, soulheaven, Mhawk134 et tout les autres.


heart.gifFlash de votre lecteur x360 (PARIS, RP, OU PAR LA POSTE) : heart.gif
tout lecteurs ! ** GARANTIE CONSERVEE ** samsung, hitachi, benq, liteOn - CLIQUEZ ICI
heart.gifcommentaires de gens qui ont fait appel à moi : heart.gif
http://cestvouslesbons.free.fr/gueux/page1.html
heart.gifLes meilleurs prix pour les abonnements au Xbox LIVE Gold : heart.gif
www.abonnement-xbox-live.com

  • Retour en haut

Posté 23 août 2009 - 19:39

#9
sadovich

sadovich

    Sunriseur

  • Members
  • PipPip
  • 112 messages
  • Sexe:Male
  • Lieu:troyes
Yop
Je n'arrive pas à trouver le plan de montage pour la infectus 2. Ce n'est pas faute d'avoir chercher.
ouuuu

Le technicien qu'il vous faut dans la ville de Troyes et alentour.
- Répare et modifie (puce/exploits/flashage) toutes les consoles (old gen/ next gen).
- Devis gratuit.
- Une grande expérience dans le domaine.


Me contacter

  • Retour en haut

Posté 24 août 2009 - 13:52

#10
nounours_59

nounours_59

    (╯°□°)╯︵ ┻━┻

  • Modérateur
  • 4 437 messages
  • Sexe:Male
  • Lieu:01101001011011010111000001101111011100110111001101101001011000100110110001100101
voila l'emulateur nes d'apres le readme il se lance a partir d'une clé usb

http://9giga.sfr.fr/...24a92fe41af720/
  • Retour en haut

Posté 09 septembre 2009 - 13:45

#11
Wapdoubap

Wapdoubap

    Sunriseur

  • Members
  • PipPip
  • 33 messages
Bonjour, j'aimerais savoir si il est possible de récupérer la key (perdue) de mon lecteur, depuis la nand de ma carte mere avec la technique Free60?
(CM Xenon, sans maj d'aout)

Merci beaucoup :)

Modifié par Wapdoubap, 09 septembre 2009 - 13:46.

  • Retour en haut

Posté 09 septembre 2009 - 14:10

#12
bugess

bugess

    Sunriseur avancé

  • Members
  • PipPipPip
  • 758 messages
  • Sexe:Male
  • Lieu:Soultz les Bains 67120

Bonjour, j'aimerais savoir si il est possible de récupérer la key (perdue) de mon lecteur, depuis la nand de ma carte mere avec la technique Free60?

c'est bien la 1er possibilité de la technique :happy-time:
Image IPB
  • Retour en haut

Posté 10 septembre 2009 - 09:56

#13
Wapdoubap

Wapdoubap

    Sunriseur

  • Members
  • PipPip
  • 33 messages

c'est bien la 1er possibilité de la technique :happy-time:


Sais tu si il existe des tutos là dessus? :)
  • Retour en haut

Posté 12 septembre 2009 - 14:21

#14
nounours_59

nounours_59

    (╯°□°)╯︵ ┻━┻

  • Modérateur
  • 4 437 messages
  • Sexe:Male
  • Lieu:01101001011011010111000001101111011100110111001101101001011000100110110001100101

  • Retour en haut

Posté 15 septembre 2009 - 21:25

#15
gab76

gab76

    Sunriseur avancé

  • Members
  • PipPipPip
  • 983 messages
  • Sexe:Male

http://www.youtube.com/watch?v=_vCL_cE0VMk


encore mieu: http://www.youtube.com/watch?v=IGRBurKIVEc

Modifié par gab76, 15 septembre 2009 - 21:25.

  • Retour en haut

Posté 17 septembre 2009 - 17:13

#16
nounours_59

nounours_59

    (╯°□°)╯︵ ┻━┻

  • Modérateur
  • 4 437 messages
  • Sexe:Male
  • Lieu:01101001011011010111000001101111011100110111001101101001011000100110110001100101
emulateur megadrive


  • Retour en haut

Posté 17 septembre 2009 - 20:02

#17
SoulHeaven

SoulHeaven

    Technicien Légendaire

  • Shining VIP
  • 4 455 messages
  • Sexe:Male
  • Lieu:Dans le Sud
Moi je préfèrerai un émulateur ps2, dreamcast lol

Librasoft Tourne une page...

  • Retour en haut

Posté 17 septembre 2009 - 23:27

#18
Nbz

Nbz

    ??? No Tags ???

  • Shining VIP
  • 2 457 messages
  • Sexe:Male
  • Lieu:Nancy-54
clair, ça ce serai vraiment cool... mais bon...

Image IPB

  • Retour en haut

Posté 18 septembre 2009 - 00:46

#19
SoulHeaven

SoulHeaven

    Technicien Légendaire

  • Shining VIP
  • 4 455 messages
  • Sexe:Male
  • Lieu:Dans le Sud
ça va venir, faut juste laisser le temps.

Déjà régler le soucis de son, puis du 1/4 de CPU bridé. Ensuite ça ira bcp plus vite

Librasoft Tourne une page...

  • Retour en haut

Posté 18 septembre 2009 - 21:15

#20
Modding_83

Modding_83

    Sur Mon Petit Nuage

  • Technicien LS expert
  • 4 156 messages
  • Sexe:Male
  • Lieu:Toulon
A toute hasard, y'aurais un emulateur NeoGeo de disponible?
  • Retour en haut




0 utilisateur(s) li(sen)t ce sujet

0 invité(s) et 0 utilisateur(s) anonyme(s)