Difference between revisions of "ACT Services"

From 3dbrew
Jump to navigation Jump to search
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.
+
| Initialize
 +
|-
 +
| 0x000D0040
 +
|
 +
| GenerateUuid
 
|-
 
|-
 
| 0x00020040
 
| 0x00020040
 
|  
 
|  
| Unknown
+
| GetErrorCode
 
|-
 
|-
 
| 0x000600C2
 
| 0x000600C2

Revision as of 06:53, 15 April 2016


The ACT module handles NNID accounts.

ACT service "act:a"

ACT service "act:u"

Command Header Available since system-version Description
0x00010084 Initialize
0x000D0040 GenerateUuid
0x00020040 GetErrorCode
0x000600C2 GetAccountDataBlock

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.