Network
The Xbox contains an Ethernet module and one RJ45 connector. Additionally, separate modem and wireless accessories were considered when developing the console. Eventualy an official wireless adapter was released based of a "D-Link 108AG Gaming Adapter" in the end of 2003.
The Xbox has a TCP/IP protocol stack complete with a DNS PPTP, DHCP clients.
Port 3074 UDP/TCP is reserved for Xbox communications.
Contents
Hardware
Integrated in the Nvidia Southbridge MCPX chip which is similar to the nForce chips. The Xbox Linux team used the binary drivers from Nvidia.
Wireless adapter
based on the "D-Link 108AG Gaming Adapter", the Xbox MN-740 Wireless Bridge bundled with a Xbox install disk (wich would update the dashboard if nececairy).
hardware
- AR5312 CPU (MIPS 4Kc core?[citation needed])
- AR5212 RoC (Radio on Chip)[citation needed] for 2.4 Ghz 802.11b/g[citation needed].
- KS8721B physical layer transciever
- some Eeprom wich hold the MAC adress (based of FCC pictures and Firmware analysis)[citation needed]
- IC42S16400 8Mb ram
- SST39LF0?0A (1 or 2 Mb) (the FCC picture is unclear on the size part due to writing) [citation needed]
The onboard 3 leds are: Power, Wireless and Xbox(called Ethernet on the PCB). The board seems to have Jtag and what apears to be Serial testpins exposed.
Firmware
The shipped firmware does not support WPA or WPA2. An "firmware" hack based on the D-Link firmware adds WPA support, rendering Dashboard support unfunctional and changing settings requirs connecting to the LAN port using a PC (or webbrowser capable application). The runs closed source "ThreadX JADE/Green Hills Version G4.0.4.0" RTOS and the firmware holds a copyright string of: "Copyright (c) Microsoft Corporation All Rights Reserved Device is Xbox Compatible"
latest firmware is seperated by a boot and runtime firmware [citation needed] :
- MN740_01.03.00.0005_BOOT.bin, "Xbox Wireless Adapter (MN-740) boot firmware"
- MN740_01.00.02.0022_RUNTIME.bin, "Xbox Wireless Adapter (MN-740) runtime firmware"
System Link
function | description |
---|---|
XNetCreateKey(&xnkid, &xnkey) | |
XNetRegisterKey(&xnkid, &xnkey) | Register the session key |
XNetXnAddrToInAddr( pxnaddr, pxnkid, &pseudoIP ) | Convert the address to a winsock usable format |
XNetUnregisterKey( &xbc.SessionID ) | |
XNetGetTitleXnAddr( &hostAddr ) | Gets your XNADDR. Used by syslink, and lots of other people. |
XNetGetEthernetLinkStatus() | |
Xbox Live
Xbox Live is an online multiplayer gaming and digital media delivery service created and operated by Microsoft. It was first made available to the Xbox system in November 2002. (Wikipedia) Xbox Live support for the original Xbox ended in April 15, 2010.
The Xbox Live architecture consists of authentication servers, matchmaking servers, and game servers.
Matchmaking servers
Game servers
Authentication servers
Authentication and access to Xbox Live services is controlled using the Kerberos protocol with a few proprietary customizations for the Xbox.
Kerberos Authentication Server: macs.xboxlive.com
padata-type | description |
---|---|
131 | ? |
204 | ? |
206 | Information about Xbox Version, Title, and Title version |
Xbox Live Functions
function | description |
---|---|
XOnlineGetUsers(XONLINE_USER* XBLAccountusers, DWORD* numOfXBLiveAccounts) | The XOnlineGetUsers function will enumerate both the hard disk and any attached memory units looking for user accounts |
XOnlineTaskClose(XONLINETASK_HANDLE logonHandle) | Called to abort the authentication process. |
XOnlineStartup( XONLINE_STARTUP_PARAMS* ) | |
XOnlineLogon(XONLINE_USER* XBLLoggedOnUsers, DWORD* XBLservices, DWORD SERVICE_COUNT, NULL, XONLINETASK_HANDLE &logonHandle) | When a title calls XOnlineLogon to sign in, instead of blocking until the authentication completes, an asynchronous task handle is returned. As part of the authentication process a title must specify which services it will be using (XBLservices, SERVICE_COUNT). |
XOnlineTaskContinue(XONLINETASK_HANDLE logonHandle) | Called to check the status of XOnlineLogon. |
XOnlineLogonTaskGetResults(XONLINETASK_HANDLE logonHandle) | |
XOnlineGetLogonUsers() | This returns a pointer to an array of XONLINE USER structures. This array is similar the XONLINE USER array we populated and passed into XOnlineLogon, but is updated with error status and permission flags for each user. |
XOnlineSetUserGuestNumber(dwUserFlags , 1) | |
XOnlineTitleUpdate(DWORD) | The XOnlineTitleUpdate function will boot into an updater application, which performs the actual update |
XOnlineGetServiceInfo(Service, ?) | XOnlineGetServiceInfo returns the connection status for a service |
XOnlineNotificationSetState | |
Heartbeat
Ethernet II, Src: Microsof_f2:00:00 (00:50:f2:f2:00:00), Dst: Broadcast (ff:ff:ff:ff:ff:ff) MS Network Load Balancing Signature: Unknown (0x584f4258) Version: 1.1 Unique Host ID: 3118682055 Cluster IP: 167.102.81.132 (167.102.81.132) Host IP: 4.89.169.109 (4.89.169.109) Signature Data - Unknown (1481589336)
References and links
- https://xboxlivehacking.blogspot.de/
- https://github.com/grayj/Jedi-Academy/blob/master/codemp/xbox/XBLive.cpp
- http://discerning.com/pdfbox/test/input/authentication.pdf
- Patent: Managing access to content
- Patent: Network architecture for secure communications between two console-based gaming systems
- Patent: Architecture for manufacturing authenticatable gaming systems
- Patent: Discovery and distribution of game session information
- Patent: Security gateway for online console-based gaming
- Patent: Presence and notification system for maintaining and communicating information
- Patent: Multiple user authentication for online console-based gaming
- Xbox Wireless adapter manual
- Flashing the Firmware of an Xbox MN-740 Wireless Adapter to a D-Link 108AG to support WPA Security