ROM Hack XORPADS question

Cindakil

Well-Known Member
OP
Newcomer
Joined
Apr 14, 2014
Messages
92
Trophies
0
XP
140
Country
Serbia, Republic of
Hi!!

I have a question that I hope that someone can help me :)

If I make the xorpads for Pokemon Omega Ruby can I use the same Xorpads for Pokemon Alpha Sapphire for example? Or each game has diferents xorpads?

THANKS!
 

AquaX101

Well-Known Member
Member
Joined
Apr 15, 2014
Messages
719
Trophies
0
Location
Somewhere
XP
1,027
Country
United States
Hi!!

I have a question that I hope that someone can help me :)

If I make the xorpads for Pokemon Omega Ruby can I use the same Xorpads for Pokemon Alpha Sapphire for example? Or each game has diferents xorpads?

THANKS!

No, because here's an example. Lets say I want a cia for AS but I have the xorpads for Tomodachi Life, if I make the cia, the cia would be incorrect and some features of the game would be corrupt and the manual would be different.
 

shinyquagsire23

SALT/Sm4sh Leak Guy
Member
Joined
Nov 18, 2012
Messages
1,977
Trophies
2
Age
26
Location
Las Vegas
XP
3,765
Country
United States
How do the XORpads work?

Basically on normal 3DS hardware the ROMs are decrypted on the fly using a part of the SoC dedicated to crypto. What xorpads do is it allows us to generate the values we need to XOR the original ROM's different sections against in order to get a fully decrypted ROM. If we had the full functionality as to how the crypto was done console-side (and I believe some other keys which we don't have), we could just do it on PC, but for now this two-step method is required.
 

gudenau

Largely ignored
Member
Joined
Jul 7, 2010
Messages
3,882
Trophies
2
Location
/dev/random
Website
www.gudenau.net
XP
5,364
Country
United States
Basically on normal 3DS hardware the ROMs are decrypted on the fly using a part of the SoC dedicated to crypto. What xorpads do is it allows us to generate the values we need to XOR the original ROM's different sections against in order to get a fully decrypted ROM. If we had the full functionality as to how the crypto was done console-side (and I believe some other keys which we don't have), we could just do it on PC, but for now this two-step method is required.

I know that much, I want to know how the generation works so I could know why the output just happens to decrypt the games with the XOR boolean operation.
 

sbJFn5r

Member
Newcomer
Joined
Sep 14, 2014
Messages
24
Trophies
0
XP
122
Country
United States
I know that much, I want to know how the generation works so I could know why the output just happens to decrypt the games with the XOR boolean operation.

Decryption uses AES in counter mode. See the diagram here:
https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_.28CTR.29

The output of the AES operation on the counter is XORed with the ciphertext to get the decrypted plaintext. If you pass in 0x00 as the ciphertext, you'll get the output of the AES operation on the counter back(Y XOR 0 = Y), you can save that and then perform the final step(XORing with the ciphertext) on your PC.
 

gudenau

Largely ignored
Member
Joined
Jul 7, 2010
Messages
3,882
Trophies
2
Location
/dev/random
Website
www.gudenau.net
XP
5,364
Country
United States
Decryption uses AES in counter mode. See the diagram here:
https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_.28CTR.29

The output of the AES operation on the counter is XORed with the ciphertext to get the decrypted plaintext. If you pass in 0x00 as the ciphertext, you'll get the output of the AES operation on the counter back(Y XOR 0 = Y), you can save that and then perform the final step(XORing with the ciphertext) on your PC.


Why could we not make a large xorpad and just use segments of that?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtu.be/MddR6PTmGKg?si=mU2EO5hoE7XXSbSr