ACT Services

From 3dbrew
Jump to navigation Jump to search

The ACT module handles NNID accounts.

ACT service "act:a"

ACT service "act:u"

Command Header Available since system-version Description
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.
0x00020040 Unknown
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 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.


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