ACT Services: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Created page with "Category:Services The ACT module handles NNID accounts. = ACT service "act:a" = = ACT service "act:u" = {| class="wikitable" border="1" |- ! Command Header ! Available s..."
 
Unknown (talk | contribs)
(16 intermediate revisions by 6 users not shown)
Line 3: Line 3:
The ACT module handles NNID accounts.
The ACT module handles NNID accounts.


= ACT service "act:a" =
= ACT service "act:u" =
These commands are common to both act:u and act:a


= ACT service "act:u" =
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 14: Line 14:
| 0x00010084
| 0x00010084
|  
|  
| Initialize? cmd[1] = u32 ctrsdkversion_probably, cmd[2] = unknown, cmd[3] = 0x20(kernel PID header), cmd[4] = PID value written by kernel, cmd[5] = 0x0(handle-transfer header for kernel), cmd[6] = handle value.
| [[ACT:Initialize|Initialize]]
|-
| 0x00020040
|
| [[ACT:GetErrorCode|GetErrorCode]]
|-
| 0x00030000
|
| GetLastResponsecode
|-
| 0x00040000?
|
| ?
|-
| 0x00050082
|
| GetCommonInfo
|-
|-
| 0x000600C2
| 0x000600C2
|  
|  
| [[ACTU:GetAccountDataBlock|GetAccountDataBlock]]
| [[ACTU:GetAccountDataBlock|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
{| class="wikitable" border="1"
|-
!  Command Header
!  Available since system-version
!  Description
|-
| 0x041300C2
|
| UpdateMiiImage
|-
| 0x041B0142
|
| AgreeEula
|-
| 0x04210042
|
| UploadMii
|-
| 0x04230082
|
| ValidateMailAddress
|}


This is the service used by regular applications.
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-20|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 [[Cfg:GetSystemModel|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 [[HTTP_Services|RootCertChain]] for all HTTPS requests, the only trusted root CA is [[SSLC:RootCertChainAddDefaultCert|default]] CertID 0x3.
=New3DS=
Even though ACT-sysmodule uses [[PTM_Services|ptm:s]], it doesn't use CheckNew3DS at all.

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.