Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

3DS:Cleaninty: Difference between revisions

From Hacks Guide Wiki
(slight factual corrections and style improvements)
(add wikipedia links for SOAP and AES, make some wording more accurate, create Overview section, add Category:Nintendo 3DS guides)
Line 10: Line 10:
| forlinux = 1
| forlinux = 1
}}
}}
'''cleaninty''' is a PC tool used to communicate with Nintendo's SOAP servers. For a 3DS, these servers deal with managing eShop accounts, downloading eShop titles, and system transfers.
'''cleaninty''' is a PC tool used to communicate with Nintendo's [[wikipedia:SOAP|SOAP]] servers. For a 3DS, these servers deal with managing eShop accounts, downloading eShop titles, and system transfers. It is also the tool used for what is informally known as a "SOAP Transfer".
 
== Overview ==
 
There are two parts of a 3DS that give it a unique ID to Nintendo's eShop servers: its serial number and its [[3DS:System files|<code>otp.bin</code>]]. If these are pulled out of the console and used somewhere else, they can be used to imitate the console - meaning Nintendo's servers can act on commands without the console doing anything on its end.<br>
However, the files cannot communicate on their own, and a connection to Nintendo's servers that acts identically to a console is still needed. That is the purpose of cleaninty.
 
The reason this allows for changing eShop regions easily, and at infinite range, are as follows:
* '''Ease of Use''': Tickets for both system software & purchased apps are stored on Nintendo's servers, and some of these tickets are 'sticky' - they refuse to be deleted when trying to delete the console's eShop account. (The most common sticky tickets are from preinstalled titles and the [[3dbrew:Streetpass Mii Plaza|Mii Plaza 3.x]] update.) The only way to remove these tickets is to transfer them to another console, and this part can be made far easier if a donor console is used to collect the titles.
* '''Infinite Range:''' System transfers are effectively divided into two parts: the content transfer (done entirely on consoles), and the NNID/title transfer (done entirely on servers).<br>On an actual console, these two must be done at the same time - but if cleaninty sends the commands for a server transfer, the consoles are never told to do the content transfer & Nintendo has no way of checking that a content transfer actually happened. (Technically, this also means a [[3DS:MMM|Manual Movable Transfer]] is the exact opposite of a SOAP transfer.)
 


== Features ==
== Features ==
Line 19: Line 29:
* <code>CheckReg</code>: Obtains the console's eShop status and any titles attached to its eShop account, then updates the JSON file if any differences in the data are found.
* <code>CheckReg</code>: Obtains the console's eShop status and any titles attached to its eShop account, then updates the JSON file if any differences in the data are found.
* <code>SysTransfer</code>: Moves the eShop titles of the source console to the target console. This is the secondary part of what is known informally as a "SOAP Transfer".
* <code>SysTransfer</code>: Moves the eShop titles of the source console to the target console. This is the secondary part of what is known informally as a "SOAP Transfer".
** Using this command will trigger a 7-day cooldown on system transfers for both consoles, the same as a 'regular' transfer.
** Using this command will trigger a 7-day cooldown on system transfers for both consoles, the same as a full system transfer.
* <code>NNIDTransfer</code>: <u>(Still experimental. Use with caution.)</u> Moves only the NNIDs of the source console to the target console. This is not affected by transfer cooldowns and does not trigger one.   
* <code>NNIDTransfer</code>: <u>(Still experimental. Use with caution.)</u> Moves only the NNIDs of the source console to the target console. This is not affected by system transfer cooldowns and does not trigger one.   
* <code>LastTransfer</code>: Provides the date&time of the given console's last system transfer, the number of transfers it has ever done, and the time at which the current transfer cooldown will expire if there is one.  
* <code>LastTransfer</code>: Provides the date&time of the given console's last system transfer, the number of transfers it has ever done, and the time at which the current transfer cooldown will expire if there is one active.
* <code>GetIVS</code>: Obtains the console's <code>movable.sed</code> from the SOAP servers, if the servers have a stored copy.  
* <code>GetIVS</code>: Obtains the console's <code>movable.sed</code> from the SOAP servers, if the servers have a stored copy.  
* <code>SetIVS</code>: Uploads the JSON's stored <code>movable.sed</code> to the SOAP servers. This will overwrite the current stored movable.
* <code>SetIVS</code>: Uploads the chosen JSON's stored <code>movable.sed</code> to the SOAP servers. This will overwrite the current stored movable.
* <code>RecoverIVS</code>: Tries to recover a console's <code>movable.sed</code> from only its raw <code>otp.bin</code> and eShop region data.
* <code>RecoverIVS</code>: Tries to recover a console's <code>movable.sed</code> from only its raw <code>otp.bin</code> and eShop region data.
* <code>EShopDelete</code>: Deletes the target console's eShop account.  
* <code>EShopDelete</code>: Deletes the target console's eShop account.  
Line 35: Line 45:
Instructions for installation & setup are {{GitHub|luigoalma/cleaninty#Installing|on the GitHub page}}, but the installation instructions may need to be interpreted for your OS.
Instructions for installation & setup are {{GitHub|luigoalma/cleaninty#Installing|on the GitHub page}}, but the installation instructions may need to be interpreted for your OS.


A guide to legally deriving the AES Constant, "C", can be found [https://3ds.goombi.fr/convertMii/0x31.html on this page].
A guide to legally deriving the [[wikipedia:Advanced_Encryption_Standard|AES]] Constant, "C", can be found [https://3ds.goombi.fr/convertMii/0x31.html on this page].
{{critical|The AES Constant, along with all other constants used by cleaninty, are copyrighted data. Obtaining them from your own console is fine, but '''do not''' share the constants with anyone else.}}
{{critical|The AES Constant, along with all other constants used by cleaninty, are copyrighted data. Obtaining them from your own console is fine, but '''do not''' share the constants with anyone else.}}
=== Windows ===
=== Windows ===
Line 78: Line 88:
# <code>cleaninty ctr SysTransfer -s soap_target.json -t soap_donor.json</code>
# <code>cleaninty ctr SysTransfer -s soap_target.json -t soap_donor.json</code>
# <code>cleaninty ctr EShopRegionChange -C soap_target.json -r (new eShop region - required) -c (country in chosen region - usually required) -l (language in chosen region/country - optional)</code>
# <code>cleaninty ctr EShopRegionChange -C soap_target.json -r (new eShop region - required) -c (country in chosen region - usually required) -l (language in chosen region/country - optional)</code>
[[Category:Nintendo 3DS guides]]