ACT Services

From 3dbrew
Revision as of 00:14, 26 September 2023 by DaniElectra (talk | contribs) (Add link to ACTU:GetCommonInfo and add more commands)
Jump to navigation Jump to search


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
0x04020000 CreateLocalAccount
0x04040080 ResetAccount
0x04090040 SetDefaultAccount
0x041207C0 UpdateMii
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.