Aller au contenu


tralala

Inscrit(e) : 24 févr. 2012
Hors-ligne Dernière activité : Aujourd'hui, 10:25
*****

Sujets que j'ai initié

[PS5] Le write-up sur l'exploit hyperviseur documentée autour de la reprise S3

Aujourd'hui, 10:23

Le développeur soniciso1 a mis en ligne hier soir son write-up sur ps5-hv-writeups, une nouvelle analyse technique consacrée à khv_startup_mp, une vulnérabilité liée à la reprise après mise en veille S3 de la PlayStation 5, pour résumer il explique comment fonctione l'exploit hyperviseur qui vient d'être dévoilé (avant sa diffusion). Cette découverte met en évidence un défaut dans la gestion du démarrage des processeurs secondaires (AP), susceptible de compromettre le kernel du GameOS déjà compromis de franchir une frontière de sécurité majeure : celle séparant GameOS de la mémoire de l’hyperviseur.
 
 
 
 
Une fenêtre d’exécution pendant la reprise de la console
 
Le problème concerne l’hyperappel 0x0f, identifié comme khv_startup_mp. Celui-ci permet de démarrer un processeur secondaire en lui fournissant notamment une adresse d’exécution RIP et une racine de pagination CR3. En fonctionnement normal, l’hyperviseur de la PS5 utilise deux racines de pagination imbriquées (NPT) afin d’isoler GameOS de sa propre mémoire. La racine 0 correspond à la vue de l’hôte, dans laquelle la mémoire de l’hyperviseur et les structures VMCB sont accessibles. La racine 1 constitue la vue restreinte destinée à GameOS.
 
La vulnérabilité apparaît au moment de la reprise S3. Après la réinitialisation de l’état des processeurs, l’hyperviseur remet à zéro le bitmap contrôlant les démarrages des processeurs secondaires. Le processeur principal (BSP) reprend alors son activité et retrouve la racine de pagination de GameOS, tandis que les autres processeurs (AP) peuvent encore rester sur la racine 0.
 
Durant cette courte fenêtre, l’hyperappel de démarrage demeure accessible et accepte les paramètres fournis par le kernel invité. Le kernel compromis peut alors déclencher le démarrage d’un processeur secondaire avec une adresse RIP et un CR3 choisis par l’attaquant. Le point essentiel est que ce processeur peut commencer à exécuter du code sans effectuer la transition attendue vers la racine NPT de GameOS. Il conserve ainsi une vue mémoire correspondant à celle de l’hyperviseur, ouvrant potentiellement l’accès à des structures internes normalement protégées.
 
La documentation ne se limite pas à une analyse théorique. Elle décrit une preuve de concept capable d’exploiter cette fenêtre de reprise et de parcourir les structures internes de l’hyperviseur (qui a résulté sur sa diffusion depuis cette nuit).
 
La charge utile identifie notamment les VMCB actifs des seize processeurs logiques de la console. Ces structures contiennent l’état nécessaire à l’exécution des machines virtuelles, notamment les paramètres de pagination imbriquée qui participent à l’isolation entre GameOS et l’hyperviseur.
 
Pour valider sa primitive d’accès mémoire, la preuve de concept effectue une opération de lecture, d’écriture puis de restauration sur un champ réservé de chaque VMCB. Elle vérifie ensuite que les seize restaurations ont bien été réalisées.
 
Les champs qui définissent directement la pagination imbriquée sont volontairement laissés intacts pendant cette démonstration. L'objectif est de confirmer la capacité d'accès aux structures protégées sans modifier les paramètres fondamentaux de l'isolation.
 
L'exploitation nécessite également une synchronisation très précise. Le développeur décrit l'utilisation d'un point d'arrêt de débogage pendant la reprise, après la restauration du contexte mais avant le réveil normal des processeurs secondaires.
 
Le firmware 13.60 également concerné par le mécanisme 
 
L'analyse indique que le mécanisme étudié reste présent dans le firmware PS5 13.60. Plusieurs éléments internes liés au démarrage des processeurs secondaires et à la table de correspondance du BIOS sont identiques à ceux examinés dans la version initialement étudiée. Attention toutefois : cela ne signifie pas que la preuve de concept existante est directement compatible avec le firmware 13.60. Des différences dans les décalages mémoire et la géométrie des allocations imposent un travail d'adaptation, notamment pour retrouver correctement les adresses nécessaires à l'exploitation.
 
Il faut donc distinguer deux éléments : le mécanisme vulnérable semble toujours présent, mais le portage de la preuve de concept nécessite des ajustements spécifiques au firmware.
 
Quelles conséquences pour le hack PS5 ?
 
Cette découverte est intéressante pour la scène PlayStation 5, car elle concerne directement une frontière de sécurité située au-dessus du noyau GameOS. Un accès à la mémoire de l'hyperviseur pourrait offrir des possibilités supplémentaires dans le cadre de recherches avancées sur le contrôle de la console.
 
Cependant, il ne s'agit pas d'un exploit permettant à n'importe quel utilisateur de lancer du code non signé à partir d'une PS5 standard. La démonstration suppose déjà une compromission du noyau GameOS, avec des capacités de lecture et d'écriture mémoire ainsi que la possibilité de déclencher des appels noyau ou une chaîne ROP.
 
Cette distinction est importante : la faille constitue une primitive d'escalade après compromission, et non un point d'entrée initial permettant à elle seule de jailbreaker une console à jour.
 
Une correction centrée sur la reprise S3
 
Plusieurs pistes de correction sont proposées dans la documentation :
- Éviter de réinitialiser ou de rouvrir la fenêtre de démarrage des processeurs secondaires après que GameOS a pris le contrôle de cette phase.
- Restreindre l'hyperappel 0x0f à une procédure de reprise authentifiée et contrôlée par l'hyperviseur.
- Ne plus accepter librement les adresses RIP et CR3 fournies par le système invité redémarré.
- Attribuer la bonne racine NPT à chaque processeur secondaire avant de lui transférer le contrôle.
- Renforcer la protection de la mémoire de l'hyperviseur et des structures VMCB contre les accès provenant des processeurs eux-mêmes.
 
La publication de soniciso1 apporte ainsi un nouvel éclairage sur les mécanismes internes de sécurité de la PS5. Elle démontre surtout qu'une transition de veille apparemment anodine peut créer une fenêtre d'exécution dangereuse lorsque plusieurs mécanismes de protection ne sont pas synchronisés.
 
 

[PS5] Byepervisor Reborn : le nouvel exploit hyperviseur PS5 pour les firmwares 6.xx à...

Aujourd'hui, 10:15

Le développeur ChendoChap poursuit ses travaux sur la sécurité de la PlayStation 5 avec Byepervisor Reborn, un nouvel exploit visant l'hyperviseur de la console. Le projet vient de recevoir un nouveau commit sur GitHub et s'appuie sur une vulnérabilité liée à la sortie du mode repos, susceptible d'affecter les firmwares PS5 de la version 6.xx jusqu'à la 13.60. Attention toutefois : le développeur précise que ce dépôt constitue avant tout une base de travail destinée aux développeurs. En l'état actuel, il ne s'agit pas d'une solution prête à l'emploi pour le grand public et aucun environnement HEN ou ensemble de patches n'est fourni.
 
Une vulnérabilité exploitée lors de la sortie du mode repos
 
Byepervisor Reborn repose sur une faille documentée par soniciso1 dans ses travaux consacrés à l'hyperviseur PS5. La vulnérabilité initiale a été découverte par theflow0, avant que d'autres chercheurs ne poursuivent les investigations. Le problème se situe dans le mécanisme de reprise après une mise en veille de type S3. Lors de cette opération, l'hypercall startup_mp est invoqué sur le cœur 0 du processeur afin d'initialiser les autres cœurs, numérotés de 1 à 15. Cette fonction reçoit notamment une adresse de redémarrage, appelée rip, qui détermine le point d'exécution de chaque cœur.
 
Durant cette phase, une configuration insuffisamment sécurisée des tables de pages imbriquées (Nested Page Tables, ou NPT) est appliquée aux autres cœurs. Cette situation peut être exploitée pour exécuter du code avec des capacités de lecture et d'écriture dans l'espace mémoire de l'hyperviseur, y compris sur les structures VMCB (Virtual Machine Control Blocks).
 
L'objectif est donc de franchir une barrière de sécurité particulièrement importante sur PS5 : l'hyperviseur, qui contribue à isoler les différents environnements d'exécution de la console.
 
Quels firmwares sont compatibles (à 11h15 le 13.10.26)
 
Le projet annonce une portée théorique allant des firmwares 6.xx à 13.60, mais tous ne bénéficient pas encore du même niveau de prise en charge. Le projet est sorti hier, donc le recul n'est pas encore total, merci de patienter !
 
Les versions actuellement indiquées comme pleinement prises en charge sont :
 
Firmware 13.60 : pris en charge.
 
Firmware 13.20 : pris en charge.
 
Firmware 13.00 : non testé.
 
Les versions 6.xx et supérieures pourraient également être concernées par cette vulnérabilité, mais des adaptations seraient nécessaires, notamment au niveau des offsets et des gadgets du noyau.
 
Le firmware 14.00 est également évoqué comme une cible techniquement envisageable avec des modifications. Cependant, cette prise en charge n'est pas incluse dans le dépôt. Le développeur souligne par ailleurs l'absence d'exploit kernel public pour cette version au moment de la rédaction.
 
Une étape intéressante pour les développeurs
 
Après son exécution, le payload cherche à placer la console dans un état permettant de dumper et de patcher le noyau. Il désactive notamment les protections XOM (Execute Only Memory) et xotext, tout en rétablissant les possibilités d'écriture nécessaires aux opérations prévues.
 
Une notification affiche les huit premiers octets de la section .text du noyau après la reprise du mode repos. Ce mécanisme sert de démonstration du contournement de la protection XOM.
 
Le payload doit être lancé à travers elfldr, le chargeur de payloads utilisé dans l'écosystème PS5. Cette dépendance est importante : le code doit pouvoir poursuivre son exécution après la sortie du mode repos.
 
Autre particularité, le payload doit distinguer les modèles PS5 classiques des PS5 Pro. Sony ayant organisé différemment la mémoire physique de l'hyperviseur sur la version Pro, les adresses utilisées ne sont pas identiques :
 
PS5 classique : 0x062800000
 
PS5 Pro : 0x8E0800000
 
Le développeur invite les utilisateurs qui constateraient une mauvaise identification de leur console à ouvrir un ticket en précisant la valeur hexadécimale affichée dans la notification.
 
Enfin, si la console s'éteint au moment de sortir du mode repos, cela signifie que l'exploitation a échoué. Le développeur estime que le mécanisme est très stable dans les configurations prises en charge, tout en précisant que certaines situations peuvent rester incompatibles.
 
Comment utiliser Byepervisor Reborn ?
 
Le fonctionnement prévu nécessite déjà une chaîne d'exploitation permettant d'obtenir un accès au noyau et de lancer elfldr. Les grandes étapes sont les suivantes :
 
Exécuter la chaîne d'exploitation du noyau jusqu'au lancement d'elfldr.
 
Envoyer le payload byepervisor.elf.
 
 
 
 
Suivre les instructions affichées dans les notifications de la console.
 
Il peut également être nécessaire de configurer l'alimentation des ports USB sur « Toujours » dans les paramètres d'économie d'énergie, afin de garantir les conditions nécessaires au fonctionnement lors de la reprise.
 
Il ne s'agit donc pas d'un exploit autonome : Byepervisor Reborn intervient à une étape avancée de la chaîne d'exploitation et ne fournit pas les éléments nécessaires pour obtenir à lui seul un jailbreak complet.
 
Test : sonicpssmg  
 
Conclusion
 
Avec Byepervisor Reborn, ChendoChap met à disposition des développeurs une nouvelle base d'exploitation de l'hyperviseur PS5, reposant sur une vulnérabilité déclenchée lors de la sortie du mode repos. La prise en charge annoncée des firmwares 13.00, 13.20 et 13.60 en fait une piste intéressante pour les recherches autour du noyau et des protections mémoire de la console.
 
Il reste néanmoins essentiel de distinguer cette avancée technique d'un jailbreak directement utilisable : aucun HEN ni patch prêt à l'emploi n'est inclus, et le projet nécessite déjà un environnement d'exploitation fonctionnel. Le dernier commit de ChendoChap concerne la documentation technique de la vulnérabilité. 
 
 
 
 

[Vita] Ghostship v1.3 : jusqu’à 35 % de performances supplémentaires sur PS Vita

Hier, 07:00

Rinnegatamante vient de publier Ghostship v1.3, une nouvelle version qui apporte une amélioration significative des performances de ce jeu sur PS Vita. Au programme, l’arrivée d’un moteur de rendu multithreadé, plusieurs corrections de crash et une mise à jour de la bibliothèque graphique vitaGL.
 
 
 
 
Un gain de performances pouvant atteindre 35 %
 
La principale nouveauté de cette version 1.3 concerne l’implémentation d’un renderer multithreadé, permettant de répartir davantage le travail de rendu entre plusieurs threads. Selon le développeur, cette évolution permet d’obtenir jusqu’à 35 % de performances supplémentaires sur l’ensemble du jeu. Un gain particulièrement intéressant pour améliorer la fluidité générale et optimiser l’exploitation des ressources disponibles sur la console portable de Sony. Le développeur précise toutefois qu’il s’agit d’une amélioration pouvant atteindre ce niveau, et non d’un gain fixe garanti dans toutes les situations.
 
Une mise à jour de vitaGL
 
Ghostship v1.3 intègre également le dernier commit de vitaGL, la bibliothèque graphique utilisée par le projet. Cette mise à jour invalide le cache des shaders en raison des modifications récentes apportées à la bibliothèque. Lors des premières sessions de jeu, il est donc possible de constater quelques saccades, le temps que les nouveaux shaders soient compilés. Ces ralentissements devraient être moins présents une fois les shaders nécessaires compilés.
 
 
 
 
 
Deux corrections de stabilité
 
En plus des optimisations graphiques, cette version corrige deux problèmes susceptibles de provoquer des plantages :
- Succès et trophées : correction d’un bug pouvant faire planter le jeu lorsque les paramètres liés aux succès étaient activés et qu’un nouveau succès était débloqué dans certaines circonstances.
- Menu pause : correction d’un crash pouvant survenir après avoir laissé le jeu en pause pendant plus de dix minutes.
 
Ces correctifs viennent compléter le travail d’optimisation et devraient améliorer la stabilité générale de Ghostship.
 
Téléchargement : Ghostship v1.3
 
 
 

[PS5] PS5X360 v0.6.0 : Frame Generation, mises à jour des jeux et Kinect sans PC

Hier, 06:52

L’émulation Xbox 360 sur PS5 continue de progresser. BrinooTk vient de publier PS5X360 v0.6.0, une nouvelle version qui apporte plusieurs évolutions importantes, notamment l’intégration du Frame Generation, la gestion des mises à jour et des DLC directement depuis la fiche des jeux, ainsi qu’une nouvelle approche du Kinect utilisant un smartphone, sans nécessiter de PC. Cette version s’accompagne également de plusieurs corrections de compatibilité permettant à certains jeux de franchir leurs écrans de chargement, tandis que la gestion des shaders a été améliorée pour limiter certains ralentissements.
 
 
 
 
Le Frame Generation fait son arrivée
 
C’est l’une des nouveautés majeures de cette version : PS5X360 intègre désormais ps5-framegen, développé par Swordpdf, basé sur le système d’optical flow de FSR 3. Accessible depuis le menu Settings > Performance > Frame generation, cette fonctionnalité est désactivée par défaut et propose plusieurs modes :
- Off : désactivation de la génération d’images.
- Automatic : ajustement automatique du fonctionnement.
- 2x, 3x et 4x : génération de plusieurs images intermédiaires entre les images réellement calculées par le jeu.
 
Contrairement aux versions précédentes, le système ne nécessite plus une fréquence d’images stable à 30 FPS pour fonctionner. Il peut désormais intervenir lorsque le framerate fluctue, avec un placement des images générées adapté au rythme mesuré du jeu. Le système prend également en compte certains éléments de l’interface qui doivent rester fixes, ainsi que les changements de scène, afin de limiter les artefacts visuels. Il faut toutefois bien comprendre le fonctionnement de cette technologie : le Frame Generation ne fait pas tourner le jeu plus rapidement. Il insère des images intermédiaires entre celles calculées par l’émulateur. Lorsque le framerate est faible, une grande partie des images affichées peut être générée, avec un risque de flou lors des mouvements rapides.
 
Le mode de sortie 120 Hz est également évoqué, mais il reste expérimental et n’a pas été testé sur console. Il nécessite un écran compatible et une modification du fichier param.json de l’application, qui n’est pas incluse dans le package.
 
Mises à jour et DLC directement depuis la bibliothèque
 
PS5X360 v0.6.0 simplifie également la gestion du contenu additionnel. Un nouvel onglet Updates apparaît sur la fiche des jeux. Il permet d’installer, d’activer ou de désactiver les mises à jour. Les packages peuvent être placés dans le dossier PPSA50011/updates, ou dans un dossier updates situé à côté du jeu. Lors du lancement d’un jeu, l’émulateur peut installer automatiquement la mise à jour la plus récente disponible. Une protection signale également les mises à jour conçues pour une autre édition du disque afin d’éviter leur installation automatique. L’onglet DLCs bénéficie lui aussi d’améliorations. Chaque contenu additionnel dispose désormais d’un état explicite : activé, désactivé ou non installé. Il devient possible de désactiver un DLC sans supprimer ses fichiers, et les packages ignorés sont accompagnés d’une explication.
 
À noter que les mises à jour réelles n’ont pas encore été testées par le développeur : les essais ont uniquement utilisé des packages de démonstration.
 
Kinect sur PS5 grâce à un smartphone, sans PC
 
Autre évolution intéressante : l’utilisation du Kinect avec un smartphone devient plus simple. La page permettant d’utiliser la caméra est désormais hébergée directement par la PS5. Il suffit de scanner le QR code proposé dans les paramètres de Kinect pour accéder à cette interface depuis le téléphone. Lors de la première utilisation, le smartphone doit installer un certificat généré par la console elle-même. La page permet ensuite d’estimer la position du corps et la portée des mains à partir de l’image de la caméra.
 
Cette solution reste expérimentale. Pour le moment, Dragon Ball Z for Kinect est le seul jeu explicitement pris en charge. Une estimation visuelle réalisée à partir d’une caméra RGB ne remplace pas les véritables données de profondeur d’un Kinect, et le fonctionnement des gestes en combat n’est pas garanti.
 
La suppression du relais PC constitue néanmoins une évolution importante pour les utilisateurs souhaitant tester cette fonctionnalité.
 
Plusieurs jeux passent de nouveaux caps
 
Le développeur annonce plusieurs corrections concernant la compatibilité et la stabilité de l’émulateur :
- Left 4 Dead 2 : correction d’un problème de reprise de threads pouvant bloquer le jeu sur l’écran de chargement.
- State of Decay : utilisation d’un autre port réseau lorsque celui demandé par le jeu est refusé par la console.
- I Am Alive : correction d’un problème empêchant certaines opérations de lecture de fichiers de réveiller les threads en attente.
- Prince of Persia: The Forgotten Sands : ajout d’un correctif contre un blocage audio survenant au chargement, activé par défaut.
- Bully : amélioration de la gestion des fichiers ouverts afin d’éviter d’atteindre la limite disponible.
 
La gestion des manettes a également été revue. Les réponses concernant les capacités des contrôleurs sont plus complètes et un échec de vibration ne provoque plus de déconnexion artificielle de la manette.
 
Attention toutefois : Fable II et Bayonetta ne répondent toujours pas aux commandes dans cette version.
 
Compilation des shaders : des saccades réduites
 
La compilation des shaders reste un point sensible de l’émulation, mais une amélioration a été apportée à leur gestion. Lorsque l’option de lecture d’image par le jeu est réglée sur Fast, les opérations de rendu n’attendent plus systématiquement la compilation de chaque shader. Cette attente est désormais réservée au mode Complete. Le développeur précise cependant que les saccades liées à la compilation elle-même subsistent, principalement lors de la première visite d’une zone.
 
Modern Warfare 3 présente toujours des textures incorrectes à distance, tandis que Modern Warfare 2 n’a pas été retesté.
 
Des premiers résultats encourageants, mais des tests limités
 
Les observations communiquées par le développeur sur sa PS5 équipée du firmware 13.60 sont intéressantes. Sur GTA IV, avec un framerate compris entre 33 et 59 FPS, la génération d’images a été active sur environ 97 à 99 % des images du jeu une fois en partie. La version précédente restait inactive dans ces conditions. Sur Bully, avec un framerate compris entre 22 et 25 FPS, le système est également resté actif sur presque toutes les images, sans échec de présentation signalé.
 
Ces résultats proviennent de la version de développement utilisée pour préparer cette publication. Le développeur précise que l’exécutable publié en v0.6.0 n’a pas été ouvert sur une console avant sa mise en ligne : il s’agit du même binaire de base, avec uniquement le texte de version du lanceur modifié.
 
Les modes 3x et 4x, la sortie 120 Hz, les mises à jour réelles et les autres versions de firmware n’ont pas été testés. Aucune fréquence d’images ni compatibilité avec l’ensemble de la ludothèque n’est donc garantie.
 
Installation de PS5X360 v0.6.0
 
Pour mettre à jour votre installation :
- Fermez PS5X360.
- Téléchargez l’archive PPSA50011.zip.
- Extrayez son contenu et copiez le dossier PPSA50011 dans /data/homebrew/PPSA50011 via FTP, en remplaçant les fichiers de l’application.
- Conservez vos jeux, sauvegardes, profils, paramètres et journaux.
- Relancez PS5X360 et vérifiez que le menu affiche la version 0.6.0.
 
L’archive ne contient que les fichiers de l’application. Les jeux, BIOS et clés ne sont pas fournis. Le fichier de diagnostic PS5X360-AutoLog-v1.0.9-preview.elf reste facultatif et n’a pas été modifié.
 
Téléchargement : PS5X360 v0.6.0
 
 

[DS/3DS] nds-bootstrap v2.17.0 : une édition anniversaire pour les 10 ans du projet

Hier, 06:37

Le projet nds-bootstrap célèbre ses 10 ans avec la sortie de la version 2.17.0, une édition anniversaire publiée par RocketRobz. Lancé le 4 octobre 2016, cette nouvelle version de l'outil incontournable de la scène homebrew Nintendo permet de lancer des jeux Nintendo DS et DSi directement depuis la carte SD des consoles DSi et 3DS. Une possibilité qui semblait pourtant difficilement réalisable à ses débuts. Pour marquer cette décennie de développement, cette nouvelle version apporte une série d'améliorations de compatibilité, de nouvelles options et plusieurs corrections de bugs. L'objectif reste le même depuis 2016 : permettre au plus grand nombre de profiter de ses jeux et applications homebrew, sans dépendre systématiquement d'une cartouche physique.
 
 
 
 
Dix ans d'évolution pour nds-bootstrap
 
Initialement lancé par ahezard, puis poursuivi par shutterbug2000 et aujourd'hui maintenu par RocketRobz, nds-bootstrap a considérablement évolué au fil des années. D'abord limité à certains logiciels homebrew, le projet a progressivement intégré la prise en charge des jeux commerciaux, des codes de triche, d'un menu en jeu, des fonctionnalités propres au mode DSi et de nombreuses améliorations de compatibilité. Le projet a également repoussé les limites du matériel Nintendo DS. Le mode B4DS permet notamment d'exécuter des jeux et certains titres DSiWare depuis des cartouches flash sur Nintendo DS et DS Lite, tandis que les consoles DSi et 3DS bénéficient de fonctionnalités supplémentaires.
 
Cette version 2.17.0 poursuit donc ce travail, avec plusieurs améliorations particulièrement intéressantes pour les amateurs de homebrew.
 
Les nouveautés de nds-bootstrap v2.17.0
 
- Une meilleure compatibilité avec le homebrew
- La lecture depuis la carte SD progresse encore avec plusieurs corrections importantes :
- jEnesisDS et SNEmulDS peuvent désormais lire les données depuis le lecteur SD et sauvegarder leurs données de manière persistante. Contrairement à certaines configurations utilisant un disque RAM, les données ne sont plus perdues après un redémarrage ou une extinction.
- Les applications créées avec DS Game Maker démarrent désormais correctement et peuvent lire leur contenu NitroFS.
- La version Bullet Bill de Mario Paint Composer DS démarre désormais correctement.
- Certains homebrews DS antérieurs à 2010, dont Super Smash Bros. Crash! DS, peuvent maintenant enchaîner directement sur un autre fichier .nds sans provoquer un redémarrage préalable de la console.
- jEnesisDS : des ROM Mega Drive plus volumineuses
- Une amélioration notable concerne jEnesisDS. Un correctif spécifique au mode DSi augmente la limite de taille des ROM de 3 Mo à 4 Mo.
 
Cette modification permet notamment de lancer davantage de jeux Mega Drive, dont :
- Sonic 3 & Knuckles
- Sonic 3D Blast / Flickies' Island
- Toy Story
 
Cette amélioration concerne l'exécution de jEnesisDS en mode DSi sur les consoles compatibles. Une petite avancée qui élargit les possibilités de cet émulateur sur Nintendo DS et 3DS.
 
À noter : Toy Story présente encore un problème connu lié à la région inscrite dans l'en-tête de la ROM. Une modification de cette valeur peut être nécessaire pour contourner l'écran de verrouillage régional.
 
DSiWare : un démarrage optimisé
 
La version 2.17.0 ajoute un paramètre de mode Slot-1 pour les titres DSiWare sur DSi et 3DS. Cette option permet d'accélérer leur démarrage par rapport au système de lecture SD/MMC original utilisé par certains titres. Le mode s'active également automatiquement lorsque la ROM DSiWare dépasse 64 Mo, afin d'éviter des temps de chargement trop longs. Attention toutefois : cette méthode utilise les fichiers de sauvegarde .sav habituellement employés en mode B4DS, au lieu des fichiers .pub et .prv d'origine. Certains titres DSiWare peuvent donc rencontrer des problèmes de sauvegarde, et l'accès aux fichiers NAND est limité.
 
De nouveaux ajustements pour les jeux
 
Plusieurs améliorations ciblent des jeux spécifiques :
- Les correctifs anti-piratage de Digimon Story: Super Xros Wars s'appliquent désormais aussi aux ROM modifiées, notamment les traductions et les hacks.
- De nouveaux paramètres de préchargement des ROM sont disponibles pour MegaMan Star Force, MegaMan Star Force 2 et la traduction chinoise amateur de Dragon Quest IX.
- La musique des écrans-titres des jeux MegaMan Star Force est désormais chargée de manière asynchrone.
- Une nouvelle option permet de désactiver les lectures asynchrones de certains fichiers Mobiclip et STRM.
- La sauvegarde en mode Slot-1 est maintenant prise en charge pour Starship Defense et X-Scape.
- Les traductions du menu en jeu ont également été mises à jour.
- Cette édition anniversaire corrige plusieurs problèmes susceptibles d'affecter l'expérience de jeu sur Nintendo DSi et 3DS.
- La désactivation automatique du hook SWI halt pour certains titres permet notamment de résoudre des ralentissements occasionnels dans Mario Kart DS, des blocages aléatoires dans les jeux Pokémon de quatrième génération et un défaut graphique 3D dans le menu de sélection des sauvegardes de Soma Bringer.
 
D'autres corrections concernent :
- Akumajou Dracula: Gallery of Labyrinth, version révision 1, avec la correction d'un écran d'erreur rouge au démarrage.
- Lux-Pain, qui pouvait se bloquer pendant la cinématique d'introduction.
- CSI: Unsolved!, qui ne diffusait pas de son et se bloquait sur son logo.
- Need for Speed Carbon: Own the City, qui pouvait rester bloqué sur l'écran de chargement avec certains filtres de couleurs.
- L'application Appareil photo de la DSi, grâce à la configuration des clés AES nécessaires à la lecture des photos.
- Le lancement de certains homebrews en mode DSi et via DSiWarehax, notamment Memory Pit et Flipnote Lenny.
- Le passage des arguments aux homebrews, ainsi que le retour au loader sur certaines consoles 3DS.
 
Téléchargement : nds-bootstrap v2.17.0