3DS Crypto Server

From GameBrew

3DS Crypto Server
3ds.png
General
AuthorSciresM
Last Updated2017/01/20
TypeOther Apps
Version1.1
LicenseMIT License
Links
Download
Website
Source

3ds-crypto-server is an ARM11 Userland homebrew for 3DS crypto over the network.

Note: This tool is intended for developers.

Installation

Requirements

  • Requires crypto-patches branch of Luma3DS.
  • Also requires very recent ctrulib (for PS_EncryptDecryptAES to actually work).
  • Probably also requires you to enable "Patch SVC/service access" in Luma config.

Installing

Extract arm9loaderhax.bin and the 3ds folder to the root of your SD card.

"python crypto_client.py test-vector.bin test-vector_dec.bin 44 1 00000000000000000000000000000000 00000000000000000000000000000000"

test-vector_dec.bin should be all-zero (test-vector.bin is encrypted with keyslot 0x2C, CBC mode, all-zero IV and KeyY).

Gets about ~925 KB/s on console/network. See crypto_client.py for an example client.

Screenshots

3dscryptoserver2.png

Changelog

v1.1

  • More robust error-handling:
    • If a client doesn't respond to our packets the way we expect, or connection dies, server prints an error message and then resumes normal activity.
    • Hitting B to exit the server (to HBL) actually works in event of critical error.
    • You can now hit start to exit to HBL, if the server is idle.
  • In addition, a self-test is performed on startup to ensure the server actually works.

v1.0

  • First compiled build.

External links