Changes

Jump to navigation Jump to search
no edit summary
Line 200: Line 200:     
It is also possible to change the account slot number of an account by using [[ACTA:SwapAccounts]].
 
It is also possible to change the account slot number of an account by using [[ACTA:SwapAccounts]].
 +
 +
Account slot -2 (0xFE) always refers to the currently loaded account.
    
== Console Accounts ==
 
== Console Accounts ==
Line 211: Line 213:  
Associating a console account with a Nintendo Network ID (server-side) is facilitated by the commands [[ACTA:BindToNewServerAccount]] (to create and link an NNID) or [[ACTA:BindToExistentServerAccount]] (to log into an existing linked NNID).
 
Associating a console account with a Nintendo Network ID (server-side) is facilitated by the commands [[ACTA:BindToNewServerAccount]] (to create and link an NNID) or [[ACTA:BindToExistentServerAccount]] (to log into an existing linked NNID).
   −
Account slot -2 (0xFE) always refers to the currently loaded account.
+
Nintendo Network IDs can be transferred to other consoles using [[ACTA:ReserveTransfer]] initially, and then [[ACTA:CompleteTransfer]].
 +
 
 +
NNIDs can be deleted using either [[ACTA:DeleteServerAccount]], [[ACTA:InactivateAccountDeviceAssociation]], [[ACTA:DeleteAccountDeviceAssociation]] or [[ACTA:ReserveServerAccountDeletion]].
    
= Password Management =
 
= Password Management =
Line 259: Line 263:     
See below how these types are determined by default. These types can also be overridden using [[ACTA:SetHostServerSettings]], [[ACTA:SetDefaultHostServerSettings]], [[ACTA:SetHostServerSettingsStr]], and [[ACTA:SetDefaultHostServerSettingsStr]].
 
See below how these types are determined by default. These types can also be overridden using [[ACTA:SetHostServerSettings]], [[ACTA:SetDefaultHostServerSettings]], [[ACTA:SetHostServerSettingsStr]], and [[ACTA:SetDefaultHostServerSettingsStr]].
  −
Nintendo Network IDs can be transferred to other consoles using [[ACTA:ReserveTransfer]] initially, and then [[ACTA:CompleteTransfer]].
  −
  −
NNIDs can be deleted using either [[ACTA:DeleteServerAccount]], [[ACTA:InactivateAccountDeviceAssociation]], [[ACTA:DeleteAccountDeviceAssociation]] or [[ACTA:ReserveServerAccountDeletion]].
      
The base URL for the Nintendo Network Account Server (NNAS) is: <code>https://[<prefix>]account.nintendo.net</code>.
 
The base URL for the Nintendo Network Account Server (NNAS) is: <code>https://[<prefix>]account.nintendo.net</code>.
Line 411: Line 411:  
| 0x3 || 0x1 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Default account slot
 
| 0x3 || 0x1 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Default account slot
 
|-
 
|-
| 0x4 || 0x8 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Difference between server time and UTC device time (in nanoseconds)
+
| 0x4 || 0x8 || [[ACTU:GetCommonInfo|GetCommonInfo]] || NetworkTimeDifference: Difference between server time and UTC device time (in nanoseconds)
 
|-
 
|-
 
| 0x5 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || PersistentId
 
| 0x5 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || PersistentId
Line 423: Line 423:  
| 0x9 || 0x101 || [[ACTU:AcquireAccountInfo|AcquireAccountInfo]] || Mail address
 
| 0x9 || 0x101 || [[ACTU:AcquireAccountInfo|AcquireAccountInfo]] || Mail address
 
|-
 
|-
| 0xA || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Birthdate
+
| 0xA || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || [[ACT_Services#Birthdate|Birth Date]]
{| class="wikitable" border="1"
  −
|-
  −
! Offset !! Size !! Description
  −
|-
  −
| 0x0 || 0x2 || Year
  −
|-
  −
| 0x2 || 0x1 || Month
  −
|-
  −
| 0x3 || 0x1 || Day
  −
|}
   
|-
 
|-
 
| 0xB || 0x3 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || ASCII NULL-terminated Country Name
 
| 0xB || 0x3 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || ASCII NULL-terminated Country Name
Line 454: Line 444:  
| 0x8 || 0x8 || u64 TransferableIDBase
 
| 0x8 || 0x8 || u64 TransferableIDBase
 
|-
 
|-
| 0x10 || 0x60 || [[Mii#Mii_format|Mii]]
+
| 0x10 || 0x60 || [[ACT_Services#CFLStoreData|Mii CFLStoreData]]
 
|-
 
|-
 
| 0x70 || (10 + 1) * 2 || 10-character UTF-16 Mii Display Name
 
| 0x70 || (10 + 1) * 2 || 10-character UTF-16 Mii Display Name
Line 462: Line 452:  
| 0x97 || 1 || padding
 
| 0x97 || 1 || padding
 
|-
 
|-
| 0x98 || 0x4 || Birthdate
+
| 0x98 || 0x4 || [[ACT_Services#Birthdate|Birth Date]]
{| class="wikitable" border="1"
  −
|-
  −
! Offset !! Size !! Description
  −
|-
  −
| 0x0 || 0x2 || Year
  −
|-
  −
| 0x2 || 0x1 || Month
  −
|-
  −
| 0x3 || 0x1 || Day
  −
|}
   
|-
 
|-
 
| 0x9C || 0x4 || u32, PrincipalID
 
| 0x9C || 0x4 || u32, PrincipalID
 
|}
 
|}
 
|-
 
|-
| 0x12 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] ||  
+
| 0x12 || 0x4 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || Account server types
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x0 || 0x1 || NNAS (Nintendo Network Authentication Server) Type
+
| 0x0 || 0x1 || [[ACT_Services#NNAS_.28Nintendo_Network_Authentication_Server.29_Types|NNAS (Nintendo Network Authentication Server) Type]]
 
|-
 
|-
| 0x1 || 0x1 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Type Value]]
+
| 0x1 || 0x1 || [[ACT_Services#NFS_.28Nintendo_Friend_Server.29_Types|NFS (Nintendo Friend Server) Type Value]]
 
|-
 
|-
| 0x2 || 0x1 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Number]]
+
| 0x2 || 0x1 || [[ACT_Services#NFS_.28Nintendo_Friend_Server.29_Types|NFS (Nintendo Friend Server) Number]]
 
|-
 
|-
 
| 0x3 || 0x1 || padding (0)
 
| 0x3 || 0x1 || padding (0)
Line 503: Line 483:  
| 0x19 || 0x8 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || UtcOffset
 
| 0x19 || 0x8 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || UtcOffset
 
|-
 
|-
| 0x1A || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsCommited
+
| 0x1A || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || IsCommitted
 
|-
 
|-
 
| 0x1B || 0x16 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || 10-character UTF-16 Mii Name (10 characters + NULL termination)
 
| 0x1B || 0x16 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || 10-character UTF-16 Mii Name (10 characters + NULL termination)
 
|-
 
|-
| 0x1C || 0x11 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || ASCII NULL-termiinated NfsPassword
+
| 0x1C || 0x11 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || ASCII NULL-terminated NfsPassword
 
|-
 
|-
 
| 0x1D || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || HasEciVirtualAccount (checks whether EciVirtualAccount has a value)
 
| 0x1D || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || HasEciVirtualAccount (checks whether EciVirtualAccount has a value)
Line 527: Line 507:  
|-
 
|-
 
| 0x22 || 0x29 || ASCII NULL-terminated refresh token
 
| 0x22 || 0x29 || ASCII NULL-terminated refresh token
 +
|-
 +
| 0x4B || 0x1 || padding
 +
|}
 +
|-
 +
| 0x22 || 0x1 || [[ACTU:GetCommonInfo|GetCommonInfo]] || IsApplicationUpdateRequired
 +
|-
 +
| 0x23 || 0x4 || [[ACTU:GetCommonInfo|GetCommonInfo]] || Default account server types
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset !! Size !! Description
 +
|-
 +
| 0x0 || 0x1 || [[ACT_Services#NNAS_.28Nintendo_Network_Authentication_Server.29_Types|NNAS (Nintendo Network Authentication Server) Type]]
 +
|-
 +
| 0x1 || 0x1 || [[ACT_Services#NFS_.28Nintendo_Friend_Server.29_Types|NFS (Nintendo Friend Server) Type Value]]
 +
|-
 +
| 0x2 || 0x1 || [[ACT_Services#NFS_.28Nintendo_Friend_Server.29_Types|NFS (Nintendo Friend Server) Number]]
 +
|-
 +
| 0x3 || 0x1 || padding (0)
 
|}
 
|}
 
|-
 
|-
Line 542: Line 540:  
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x0 || 0x21 || ASCII NULL-terminated NNAS subdomain
+
| 0x0 || 0x21 || ASCII NULL-terminated [[ACT_Services#NNAS_.28Nintendo_Network_Authentication_Server.29_Types|NNAS]] subdomain
 
|-
 
|-
| 0x21 || 0x3 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Environment]]
+
| 0x21 || 0x3 || [[ACT_Services#NFS_.28Nintendo_Friend_Server.29_Types|NFS (Nintendo Friend Server) Type]]
 
|}
 
|}
 
|-
 
|-
Line 552: Line 550:  
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x0 || 0x21 || ASCII NULL-terminated NNAS subdomain
+
| 0x0 || 0x21 || ASCII NULL-terminated [[ACT_Services#NNAS_.28Nintendo_Network_Authentication_Server.29_Types|NNAS]] subdomain
 
|-
 
|-
| 0x21 || 0x3 || [[Friend_Services#Server_Types|NFS (Nintendo Friend Server) Environment]]
+
| 0x21 || 0x3 || [[ACT_Services#NFS_.28Nintendo_Friend_Server.29_Types|NFS (Nintendo Friend Server) Type]]
 
|}
 
|}
 
|-
 
|-
| 0x2A || 0x8 || [[ACTU:GetCommonInfo|GetCommonInfo]] || first 8 bytes of <code>SHA256 ( [[AM:GetDeviceId]]() as 4 little endian bytes + 'A2257354' )</code>
+
| 0x2A || 0x8 || [[ACTU:GetCommonInfo|GetCommonInfo]] || DeviceHash: first 8 bytes of <code>SHA256 ( [[AM:GetDeviceId]]() as 4 little endian bytes + A2257354 )</code>
 
|-
 
|-
 
| 0x2B || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || FpLocalAccountId (local account ID of [[Friend_Services|friends sysmodule]])
 
| 0x2B || 0x1 || [[ACTU:GetAccountDataBlock|GetAccountInfo]] || FpLocalAccountId (local account ID of [[Friend_Services|friends sysmodule]])
Line 571: Line 569:     
= Types =
 
= Types =
 +
== Birthdate ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset !! Size !! Description
 +
|-
 +
| 0x0 || 0x2 || u16, Year
 +
|-
 +
| 0x2 || 0x1 || u8, Month
 +
|-
 +
| 0x3 || 0x1 || u8, Day
 +
|}
 +
 
== CFLStoreData ==
 
== CFLStoreData ==
 
This is the Mii format used in ACT commands.
 
This is the Mii format used in ACT commands.
Line 583: Line 593:  
| 0x5E || 0x2 || CRC16 over the above 0x5E bytes (see [[Mii#Checksum|Mii Checksum]] for details on the algorithm)
 
| 0x5E || 0x2 || CRC16 over the above 0x5E bytes (see [[Mii#Checksum|Mii Checksum]] for details on the algorithm)
 
|}
 
|}
 +
 +
== Mii Image Types ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value !! Description
 +
|-
 +
| 0 || Primary Mii Image
 +
|-
 +
| 1 || Unknown
 +
|-
 +
| 2 || Unknown
 +
|-
 +
| 3 || Unknown
 +
|-
 +
| 4 || Unknown
 +
|-
 +
| 5 || Unknown
 +
|-
 +
| 6 || Unknown
 +
|-
 +
| 7 || Unknown
 +
|-
 +
| 8 || Unknown
 +
|}
 +
    
== Timezone ==
 
== Timezone ==
Line 598: Line 633:  
|-
 
|-
 
| 0x88 || 0x8 || s64, UtcOffset in seconds
 
| 0x88 || 0x8 || s64, UtcOffset in seconds
 +
|}
 +
 +
== AcquireTimeZoneListData ==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset !! Size !! Description
 +
|-
 +
| 0x0 || 0x4 || u32, Capacity (32)
 +
|-
 +
| 0x4 || 0x4 || u32, Count
 +
|-
 +
| 0x8 || 0x90 * Capacity || [[ACT_Services#Timezone|Timezones]]
 
|}
 
|}
   Line 610: Line 657:  
|-
 
|-
 
| 0x6 || 0x2 || u16, EULA version
 
| 0x6 || 0x2 || u16, EULA version
 +
|}
 +
 +
== InquireBindingToExistentServerAccountData ==
 +
Represents the device information for the console linked to the NNID.
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset !! Size !! Description
 +
|-
 +
| 0x0 || 0x1 || bool, HasMii
 +
|-
 +
| 0x1 || 0x3 || padding
 +
|-
 +
| 0x4 || 0x60 || [[ACT_Services#CFLStoreData|Mii CFLStoreData]]
 +
|-
 +
| 0x64 || 0x4 || u32, PrincipalId
 +
|-
 +
| 0x68 || 0x1 || bool, CoppaRequiredFlag
 +
|-
 +
| 0x69 || 0x3 || padding
 +
|-
 +
| 0x6C || 0x5 + 1 || ASCII 5-character CoppaCode + NULL termination
 +
|-
 +
| 0x72 || 0x100 + 1 || ASCII 256-character ParentEmail + NULL termination
 +
|-
 +
| 0x173 || 0x1 || padding
 +
|-
 +
| 0x174 || 0x4 || [[ACT_Services#Birthdate|Birth Date]]
 +
|}
 +
 +
==SendCoppaCodeMailData==
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset !! Size !! Description
 +
|-
 +
| 0x0 || 0x5 + 1 || 5-character ASCII CoppaCode + NULL termination
 +
|-
 +
| 0x6 || 0x100 + 1 || 256-character ASCII ParentEmail + NULL termination
 +
|}
 +
 +
==AcquireEulaData/AcquireEulaListData==
 +
Data returned from [[ACTU:AcquireEula]] and [[ACTU:AcquireEulaList]] uses a special format.
 +
 +
===EulaHeader===
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset !! Size !! Description
 +
|-
 +
| 0x0 || 0x3 || 2-character Country code + NULL termination
 +
|-
 +
| 0x3 || 0x1 || padding
 +
|-
 +
| 0x4 || 0x3 || 2-character Language code + NULL termination
 +
|-
 +
| 0x7 || 0x1 || padding
 +
|-
 +
| 0x8 || 0x2 || u16, Version
 +
|-
 +
| 0xA || 0x2 || padding
 +
|-
 +
| 0xC || 0x4 || u32, end offset of this EULA within full data blob
 +
|-
 +
| 0x10 || 0x4 || EulaType offset
 +
|-
 +
| 0x14 || 0x4 || AgreeText offset
 +
|-
 +
| 0x18 || 0x4 || NonAgreeText offset
 +
|-
 +
| 0x1C || 0x4 || LanguageName offset
 +
|-
 +
| 0x20 || 0x4 || MainTitle offset
 +
|-
 +
| 0x24 || 0x4 || MainText offset
 +
|-
 +
| 0x28 || 0x4 || SubTitle offset
 +
|-
 +
| 0x2C || 0x4 || SubText offset
 +
|}
 +
 +
<code>X offset</code> refers to an offset to a NULL-terminated ASCII string value for <code>X</code> within the full EULA data blob (see below).
 +
 +
===EulaList===
 +
This is the full data blob retrieved using [[ACTU:GetAsyncResult]].
 +
Each EULA list entry is appended at the very end of the previous one. The end offset in the header can be used to get to subsequent EULA list entries.
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset !! Size !! Description
 +
|-
 +
| 0x0 || 0x1 || u8, Number of EULA list entries (n)
 +
|-
 +
| 0x1 || n * (...) || concatenated EULA list entries
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset !! Size !! Description
 +
|-
 +
| 0x0 || 0x30 || [[ACT_Services#EulaHeader|EulaHeader]]
 +
|-
 +
| 0x30 || ... || EULA data
 +
|}
 
|}
 
|}
  
Trusted
588

edits

Navigation menu