Difference between revisions of "ACT Services"

From 3dbrew
Jump to navigation Jump to search
Line 20: Line 20:
 
| [[ACT:GetErrorCode|GetErrorCode]]
 
| [[ACT:GetErrorCode|GetErrorCode]]
 
|-
 
|-
| 0x0003....
+
| 0x00030000
 
|
 
|
| ?
+
| GetLastResponsecode
 
|-
 
|-
 
| 0x00040000?
 
| 0x00040000?
Line 30: Line 30:
 
| 0x00050082
 
| 0x00050082
 
|
 
|
| ?
+
| GetCommonInfo
 
|-
 
|-
 
| 0x000600C2
 
| 0x000600C2
Line 38: Line 38:
 
| 0x00070082
 
| 0x00070082
 
|
 
|
| ?
+
| GetResultAsync
 
|-
 
|-
 
| 0x000800C2
 
| 0x000800C2
 
|
 
|
| ?
+
| GetMiiImageData
 
|-
 
|-
| 0x00090040?
+
| 0x00090180
 
|
 
|
| ?
+
| SetNfsPassword
 
|-
 
|-
 
| 0x000A0040?
 
| 0x000A0040?
Line 68: Line 68:
 
| ?
 
| ?
 
|-
 
|-
| 0x000F0040?
+
| 0x000F0140
 
|
 
|
| ?
+
| FindSlotNoByUuid
 
|-
 
|-
 
| 0x00100000?
 
| 0x00100000?
Line 76: Line 76:
 
| ?
 
| ?
 
|-
 
|-
| 0x00110080?
+
| 0x00110080
 
|
 
|
| ?
+
| GetTransferableId
 
|-
 
|-
 
| 0x00120102
 
| 0x00120102
 
|
 
|
| ?
+
| AccquireNexServiceToken
 
|-
 
|-
 
| 0x00130002
 
| 0x00130002
 
|
 
|
| ?
+
| GetNexServiceToken
 
|-
 
|-
 
| 0x00140382
 
| 0x00140382
 
|
 
|
| ?
+
| AccquireIndependentServiceToken
 
|-
 
|-
 
| 0x00150002
 
| 0x00150002
 
|  
 
|  
| ?
+
| GetIndependentServiceToken
 
|-
 
|-
 
| 0x00160082
 
| 0x00160082
 
|
 
|
| ?
+
| AccquireAccountInfo
 
|-
 
|-
 
| 0x00170084
 
| 0x00170084
 
|
 
|
| ?
+
| AccquireAccountIdByPid
 
|-
 
|-
 
| 0x00180044
 
| 0x00180044
 
|
 
|
| ?
+
| GetPidByAccountID
 
|-
 
|-
 
| 0x00190044
 
| 0x00190044
Line 114: Line 114:
 
| 0x001A0042
 
| 0x001A0042
 
|
 
|
| ?
+
| AccquireRawAccountInfo
 
|-
 
|-
 
| 0x001B0084
 
| 0x001B0084
 
|
 
|
| ?
+
| AccquireOtherTypePrincipalID
 
|-
 
|-
 
| 0x001C0342
 
| 0x001C0342
Line 127: Line 127:
 
|
 
|
 
| ?
 
| ?
 +
|-
 +
| 0x001E0082
 +
|
 +
| AcquireEula
 +
|-
 +
| 0x001F0082
 +
|
 +
| AcquireEulaLanguageList
 
|-
 
|-
 
|}
 
|}

Revision as of 14:43, 10 March 2018


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
0x00070082 GetResultAsync
0x000800C2 GetMiiImageData
0x00090180 SetNfsPassword
0x000A0040? ?
0x000B0042 AcquireEulaList
0x000C0082 ?
0x000D0040 GenerateUuid
0x000E0080? ?
0x000F0140 FindSlotNoByUuid
0x00100000? ?
0x00110080 GetTransferableId
0x00120102 AccquireNexServiceToken
0x00130002 GetNexServiceToken
0x00140382 AccquireIndependentServiceToken
0x00150002 GetIndependentServiceToken
0x00160082 AccquireAccountInfo
0x00170084 AccquireAccountIdByPid
0x00180044 GetPidByAccountID
0x00190044 AcquireMii
0x001A0042 AccquireRawAccountInfo
0x001B0084 AccquireOtherTypePrincipalID
0x001C0342 ?
0x001D0004 ?
0x001E0082 AcquireEula
0x001F0082 AcquireEulaLanguageList

ACT service "act:a"

These commands are exclusive to act:a

Command Header Available since system-version Description
0x041300C2 UpdateMiiImage
0x041B0142 AgreeEula
0x04210042 UploadMii
0x04230082 ValidateMailAddress


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.