Stage 1 version 1
This version of 'stage 1' is now deployed at https://nas.wiilink.ca/w1. Changes from version 0 include:
- The random salt generation has been changed to be based on the result of
ES_Sign, improving PRNG security for the prevention of downgrade attacks.- Valid console keys are now required for this stage 1 payload to work properly, although the default keys from Dolphin Emulator will work, even if the server is still configured to reject them later on.
- A new error code, 20920 (
WL_ERROR_PAYLOAD_STAGE1_ES_FAILURE), is returned to signify an error occurred during theES_Signoperation.
- The NG device ID (a.k.a. Hollywood ID) is now sent to the server in the payload download request, allowing potential future support for console-specific payload channel configuration.
- Please note that the deprecated payload server integrated in wfc-server does not support the device ID query parameter (
d), and it will error withSalt hash mismatchon all requests from clients using this stage 1 version. - The separate payload-server must be used instead to support newer clients.
- Please note that the deprecated payload server integrated in wfc-server does not support the device ID query parameter (
- The following changes have been made to the stage 1 parameters:
- Some addresses have been changed to be stored 16-bit, adaptive from previous addresses in the struct, optimizing for size.
- Added required addresses to the
IOS_Open,IOS_Ioctlv, andIOS_Closefunctions. - Added a required address to the stored file descriptor from the ES or ESP library.
- Added an optional callback pointer that will be, if not 0, called instead of the payload entry point after downloading and verifying the payload.
- Changed the game ID field to instead be a list of URL parameters (including the game ID) for the payload download request, separated by
&, which requires e.g. "RMCPD00" from the previous patch to be changed to "g=RMCPD00".
- Added a syscall
scinstruction after flushing the downloaded payload to ensure address sync with the 60x bus and that the CPU instruction pipeline is flushed. - The production server domain has been changed from
naswii.wiilink24.comtonas.wiilink.ca, in line with the payload as of version 0.2.3 and other WiiLink services.- The payload server will always continue to serve the old domain for compatibility with previous patch versions.