[DSi] bfCL v0.4, le portage de l'outil TWLbf en OpenCL

683 visiteurs sur le site | S'incrire

Accédez aux coordonnées de l’ensemble des techniciens professionnels recommandés par logic-sunrise 20 derniers dossiers et tutoriaux
3DS DS
[DSi] bfCL v0.4, le portage de l'outil TWLbf en OpenCL
A la fin du mois d'Août 2017, nous vous proposions de découvrir TWLbf, un nouvel outil qui se destine aux utilisateurs de Nintendo DSi et qui exploite la force brute pour trouver l'ID de votre console DSi à travers le dump de sa NAND ou bien le CID de l'EMMC.
 
Le développeur Jimmy-Z a réfléchit et s'est dit qu'un portage de cet outil en OpenCL serait peut être une bonne évolution, et c'est de là qu'est né bfCL.
 
 
 
 
Aidé par un utilisateur très expérimenté en la matière, dark_samus3, le développeur a publié la version v0.4 de bfCL. Avec cette version, il affirme qu'il est désormais possible d'utiliser la force brute pour découvrir l'ID de la console sans avoir le CID de l'EMMC. De plus bfCL est beaucoup plus performant que TWLbf puisque le GPU n'a pas l'AESNI, et la force brute sur les CID de l'EMMC est beaucoup plus rapide.
 

 
 
How it works:
You've seen how the encryption routine goes;
hash the emmc cid, add the block offset to the hashed cid, encrypt the hashed cid + block offset with the key derived from the Console ID with AES ECB, take the encrypted data, xor it with the plaintext block, the result of the xor is written to NAND.
 
working backwards:
xor a known plaintext NAND block with it's encrypted couterpart. You've now recovered the AES-ECB encrypted block. Guess a Console ID, generate a key, try to use it to decrypt the ECB encrypted block. If it was correct, you should have recovered the CID hash + block offset. Subtract the block offset to recover the emmc cid hash. You can check it was correct by using simply going through the normal encryption steps, but on another block. (I've hardcoded a block and it's offset into my code atm, for ease of testing). If the block you just encrypted using the derived "emmc cid hash" xor'd with the plaintext matches the second block you're using, you've recovered the actual emmc cid hash. From there you just bruteforce the emmc cid values, hash them and compare to the emmc cid hash you recovered. :)
 
EDIT: about the console ID template input. Yeah, I'm aware, I just copied my console ID (since I'm using a known one for testing) and added zeros in the non-constant places, for some reason. Dunno why, it was likely just the fact that it was a late-night coding session when I initially entered it, and all my subsequent tests just used the initial values ¯\_(ツ)_/¯

 

 

 
Téléchargement : bfCL v0.4
 
Source : gbatemp.net 
 
Vendredi 03 Novembre 2017, 12:23 par tralala
Source : github.com/Jimmy-Z/bfCL/releases
Envoyer