Difference between revisions of "ACT Services"

From 3dbrew
Jump to navigation Jump to search
m (Add link to ACTU:GetCommonInfo and add more commands)
(Add more ACT commands)
Line 22: Line 22:
 
| 0x00030000
 
| 0x00030000
 
|
 
|
| GetLastResponsecode
+
| GetLastResponseCode
 
|-
 
|-
| 0x00040000?
+
| 0x00040000
 
|
 
|
 
| ?
 
| ?
Line 34: Line 34:
 
| 0x000600C2
 
| 0x000600C2
 
|  
 
|  
| [[ACTU:GetAccountDataBlock|GetAccountDataBlock]]
+
| [[ACTU:GetAccountDataBlock|GetAccountDataBlock]]/GetAccountInfo
 
|-
 
|-
 
| 0x00070082
 
| 0x00070082
Line 58: Line 58:
 
| 0x000C0082
 
| 0x000C0082
 
|
 
|
| ?
+
| AcquireTimeZoneList
 
|-
 
|-
 
| 0x000D0040
 
| 0x000D0040
Line 64: Line 64:
 
| GenerateUuid
 
| GenerateUuid
 
|-
 
|-
| 0x000E0080?
+
| 0x000E0080
 
|
 
|
 
| ?
 
| ?
Line 72: Line 72:
 
| FindSlotNoByUuid
 
| FindSlotNoByUuid
 
|-
 
|-
| 0x00100000?
+
| 0x00100000
 
|
 
|
 
| ?
 
| ?
Line 82: Line 82:
 
| 0x00120102
 
| 0x00120102
 
|
 
|
| AccquireNexServiceToken
+
| AcquireNexServiceToken
 
|-
 
|-
 
| 0x00130002
 
| 0x00130002
Line 90: Line 90:
 
| 0x00140382
 
| 0x00140382
 
|
 
|
| AccquireIndependentServiceToken
+
| AcquireIndependentServiceToken
 
|-
 
|-
 
| 0x00150002
 
| 0x00150002
Line 98: Line 98:
 
| 0x00160082
 
| 0x00160082
 
|
 
|
| AccquireAccountInfo
+
| AcquireAccountInfo
 
|-
 
|-
 
| 0x00170084
 
| 0x00170084
 
|
 
|
| AccquireAccountIdByPid
+
| AcquireAccountIdByPrincipalId
 
|-
 
|-
 
| 0x00180044
 
| 0x00180044
 
|
 
|
| GetPidByAccountID
+
| AcquirePrincipalIdByAccountId
 
|-
 
|-
 
| 0x00190044
 
| 0x00190044
Line 114: Line 114:
 
| 0x001A0042
 
| 0x001A0042
 
|
 
|
| AccquireRawAccountInfo
+
| AcquireAccountInfoEx
 
|-
 
|-
 
| 0x001B0084
 
| 0x001B0084
 
|
 
|
| AccquireOtherTypePrincipalID
+
| AcquireOtherTypePrincipalID?
 
|-
 
|-
 
| 0x001C0342
 
| 0x001C0342
Line 126: Line 126:
 
| 0x001D0004
 
| 0x001D0004
 
|
 
|
| ?
+
| InquireMailAddress
 
|-
 
|-
 
| 0x001E0082
 
| 0x001E0082
Line 146: Line 146:
 
!  Available since system-version
 
!  Available since system-version
 
!  Description
 
!  Description
 +
|-
 +
| 0x04010080
 +
|
 +
| ?
 
|-
 
|-
 
| 0x04020000
 
| 0x04020000
 
|  
 
|  
| [[ACTA:CreateLocalAccount|CreateLocalAccount]]
+
| [[ACTA:CreateConsoleAccount|CreateConsoleAccount]]
 +
|-
 +
| 0x04030040
 +
|
 +
| CommitConsoleAccount
 
|-
 
|-
 
| 0x04040080
 
| 0x04040080
 
|  
 
|  
| [[ACTA:ResetAccount|ResetAccount]]
+
| [[ACTA:UnbindServerAccount|UnbindServerAccount]]
 +
|-
 +
| 0x04050040
 +
|
 +
| DeleteConsoleAccount
 +
|-
 +
| 0x04060240
 +
|
 +
| ?
 +
|-
 +
| 0x04070000
 +
|
 +
| ?
 +
|-
 +
| 0x04080080
 +
|
 +
| EnableAccountPasswordCache
 
|-
 
|-
 
| 0x04090040
 
| 0x04090040
 
|  
 
|  
 
| [[ACTA:SetDefaultAccount|SetDefaultAccount]]
 
| [[ACTA:SetDefaultAccount|SetDefaultAccount]]
 +
|-
 +
| 0x040A0040
 +
|
 +
| ReplaceAccountId
 +
|-
 +
| 0x040B0040
 +
|
 +
| GetSupportContext
 +
|-
 +
| 0x040C0100
 +
|
 +
| ?
 +
|-
 +
| 0x040D00C0
 +
|
 +
| ?
 +
|-
 +
| 0x040E02C0
 +
|
 +
| ?
 +
|-
 +
| 0x040F0280
 +
|
 +
| ?
 +
|-
 +
| 0x04100040
 +
|
 +
| ?
 +
|-
 +
| 0x04110040
 +
|
 +
| ?
 
|-
 
|-
 
| 0x041207C0
 
| 0x041207C0
Line 166: Line 222:
 
|  
 
|  
 
| UpdateMiiImage
 
| UpdateMiiImage
 +
|-
 +
| 0x04140182
 +
|
 +
| InquireAccountIdAvailability
 +
|-
 +
| 0x04150EC4
 +
|
 +
| BindToNewServerAccount
 +
|-
 +
| 0x041602C4
 +
|
 +
| BindToExistentServerAccount
 +
|-
 +
| 0x041702C4
 +
|
 +
| InquireBindingToExistentServerAccount
 +
|-
 +
| 0x04180042
 +
|
 +
| ?
 +
|-
 +
| 0x04190042
 +
|
 +
| ?
 +
|-
 +
| 0x041A01C2
 +
|
 +
| AcquireAccountTokenEx
 
|-
 
|-
 
| 0x041B0142
 
| 0x041B0142
 
|  
 
|  
 
| AgreeEula
 
| AgreeEula
 +
|-
 +
| 0x041C0042
 +
|
 +
| SyncAccountInfo
 +
|-
 +
| 0x041D0080
 +
|
 +
| ?
 +
|-
 +
| 0x041E0182
 +
|
 +
| UpdateAccountPassword
 +
|-
 +
| 0x041F0042
 +
|
 +
| ReissueAccountPassword
 +
|-
 +
| 0x04200180
 +
|
 +
| SetAccountPasswordInput
 
|-
 
|-
 
| 0x04210042
 
| 0x04210042
 
|  
 
|  
 
| UploadMii
 
| UploadMii
 +
|-
 +
| 0x04220042
 +
|
 +
| ?
 
|-
 
|-
 
| 0x04230082
 
| 0x04230082
 
|  
 
|  
 
| ValidateMailAddress
 
| ValidateMailAddress
 +
|-
 +
| 0x04240044
 +
|
 +
| ?
 +
|-
 +
| 0x04250042
 +
|
 +
| SendConfirmationMail
 +
|-
 +
| 0x04260044
 +
|
 +
| ?
 +
|-
 +
| 0x04270084
 +
|
 +
| ?
 +
|-
 +
| 0x04280044
 +
|
 +
| ApproveByCreditCard
 +
|-
 +
| 0x04290082
 +
|
 +
| SendCoppaCodeMail
 +
|-
 +
| 0x042A0080
 +
|
 +
| ?
 +
|-
 +
| 0x042B01C4
 +
|
 +
| ?
 +
|-
 +
| 0x042C0042
 +
|
 +
| ?
 +
|-
 +
| 0x042D0042
 +
|
 +
| ?
 +
|-
 +
| 0x042E0080
 +
|
 +
| ?
 +
|-
 +
| 0x042F0084
 +
|
 +
| UpdateAccountInfoEx
 +
|-
 +
| 0x04300044
 +
|
 +
| UpdateAccountMailAddress
 +
|-
 +
| 0x04310042
 +
|
 +
| ?
 +
|-
 +
| 0x04320042
 +
|
 +
| ?
 +
|-
 +
| 0x04330042
 +
|
 +
| ?
 +
|-
 +
| 0x04340003
 +
|
 +
| ?
 +
|-
 +
| 0x04350042
 +
|
 +
| DeleteServerAccount
 
|}
 
|}
  

Revision as of 21:53, 29 September 2023


The ACT module handles NNID accounts.

ACT service "act:u"

These commands are common to both act:u and act:a

Command Header Available since system-version Description
0x00010084 Initialize
0x00020040 GetErrorCode
0x00030000 GetLastResponseCode
0x00040000 ?
0x00050082 GetCommonInfo
0x000600C2 GetAccountDataBlock/GetAccountInfo
0x00070082 GetResultAsync
0x000800C2 GetMiiImageData
0x00090180 SetNfsPassword
0x000A0040? ?
0x000B0042 AcquireEulaList
0x000C0082 AcquireTimeZoneList
0x000D0040 GenerateUuid
0x000E0080 ?
0x000F0140 FindSlotNoByUuid
0x00100000 ?
0x00110080 GetTransferableId
0x00120102 AcquireNexServiceToken
0x00130002 GetNexServiceToken
0x00140382 AcquireIndependentServiceToken
0x00150002 GetIndependentServiceToken
0x00160082 AcquireAccountInfo
0x00170084 AcquireAccountIdByPrincipalId
0x00180044 AcquirePrincipalIdByAccountId
0x00190044 AcquireMii
0x001A0042 AcquireAccountInfoEx
0x001B0084 AcquireOtherTypePrincipalID?
0x001C0342 ?
0x001D0004 InquireMailAddress
0x001E0082 AcquireEula
0x001F0082 AcquireEulaLanguageList

ACT service "act:a"

These commands are exclusive to act:a

Command Header Available since system-version Description
0x04010080 ?
0x04020000 CreateConsoleAccount
0x04030040 CommitConsoleAccount
0x04040080 UnbindServerAccount
0x04050040 DeleteConsoleAccount
0x04060240 ?
0x04070000 ?
0x04080080 EnableAccountPasswordCache
0x04090040 SetDefaultAccount
0x040A0040 ReplaceAccountId
0x040B0040 GetSupportContext
0x040C0100 ?
0x040D00C0 ?
0x040E02C0 ?
0x040F0280 ?
0x04100040 ?
0x04110040 ?
0x041207C0 UpdateMii
0x041300C2 UpdateMiiImage
0x04140182 InquireAccountIdAvailability
0x04150EC4 BindToNewServerAccount
0x041602C4 BindToExistentServerAccount
0x041702C4 InquireBindingToExistentServerAccount
0x04180042 ?
0x04190042 ?
0x041A01C2 AcquireAccountTokenEx
0x041B0142 AgreeEula
0x041C0042 SyncAccountInfo
0x041D0080 ?
0x041E0182 UpdateAccountPassword
0x041F0042 ReissueAccountPassword
0x04200180 SetAccountPasswordInput
0x04210042 UploadMii
0x04220042 ?
0x04230082 ValidateMailAddress
0x04240044 ?
0x04250042 SendConfirmationMail
0x04260044 ?
0x04270084 ?
0x04280044 ApproveByCreditCard
0x04290082 SendCoppaCodeMail
0x042A0080 ?
0x042B01C4 ?
0x042C0042 ?
0x042D0042 ?
0x042E0080 ?
0x042F0084 UpdateAccountInfoEx
0x04300044 UpdateAccountMailAddress
0x04310042 ?
0x04320042 ?
0x04330042 ?
0x04340003 ?
0x04350042 DeleteServerAccount


This is the service used by regular applications.

HTTPS Requests

With each request, ACT-sysmodule specifies request-header "X-Nintendo-Device-Model". This is the only *dedicated* request-header that's contains anything Old3DS/New3DS specific. This was implemented with 9.0.0-X, and presumably 8.1.0-0_New3DS. The value is from a string initialized during ACT-sysmodule startup. The value-string is the codename string for all 5 of the model values from Cfg:GetSystemModel. When the output from GetSystemModel is >=5(switch statement default case), it runs this: "len = snprintf(outstr, outmaxsize, "3DS-%u", model);"

Trusted Root CAs

ACT module uses a RootCertChain for all HTTPS requests, the only trusted root CA is default CertID 0x3.

New3DS

Even though ACT-sysmodule uses ptm:s, it doesn't use CheckNew3DS at all.