Xbox System Software: Difference between revisions

From Xenon Wiki
Jump to navigation Jump to search
imported>Tuxuser
No edit summary
imported>Tuxuser
 
(10 intermediate revisions by 5 users not shown)
Line 2: Line 2:
The Xbox's '''Original Software''' is composed of many things, including the bootloaders, the kernel, the dashboard and more.
The Xbox's '''Original Software''' is composed of many things, including the bootloaders, the kernel, the dashboard and more.


= Bootloaders =
= [[Bootloaders]] =
=== [[1BL]] ===
The Xbox 360 system uses a series of [[bootloaders]] to load the hv/kernel and dashboard. These loaders are explained at [[Boot Process]].  
Stored in CPU rom, decrypts and starts CB bootloader. (more info needed)
=== [[CB]]-2BL ===
Stored in NAND, decrypts and starts CD bootloader. (more info needed)
=== [[CD]]-4BL ===
Stored in NAND, decrypts and decompresses [[CE]], which contains the base kernel and hypervisor. It then decrypts and starts the CF bootloader. (more info needed)
=== [[CE]]-5BL ===
Stored in NAND, decrypts and decompresses [[CF]](PatchSlot0), [[CE]] is the basekernel and Version 2.0.1888 on all known retail xboxes. (more info needed)
=== [[CF]]-6BL ===
Stored in NAND, decrypts and decompresses [[CG]](PatchSlot1), which contains the latest update patches for kernel and hypervisor. It then applies the patches and loads. (more info needed)
=== [[CG]]-7BL ===
Stored in NAND, is the latest patchset, called PatchSlot1. (more info needed)
 


= [[Hypervisor]] =
= [[Hypervisor]] =
The hypervisor is used to protect the Xbox 360 console from attacks, by running the hypervisor with higher privileges than the kernel.
The [[Hypervisor]] is the main operating system being run on the console. It looks after the kernel and stops things like buffer overflows from happening. It also manages a lot of the security aspects of the 360, including memory encryption and region protection. It has code to handle the XeKeys (keyvault + some static ones) and XEXs. The end-user of an Xbox would never have any knowledge of the hypervisor, it's only really interesting for hackers.  


= [[Kernel]] =
= [[Kernel]] =
The Xbox 360's kernel is responsible for low level hardware communication and more.
The Xbox 360's [[Kernel]] is responsible for low level hardware communication and more. This is the main part of the 360, the kernel is where all the user-based stuff happens. The drivers for accessing most of the hardware is located in the Kernel, along with certain drivers for other things used by the system (e.g. FATX (File Allocation Table for Xbox), STFS (Secure Transacted File System), SFCX (System Flash Controller for Xbox). This is the most interesting part of the console because of all the functions it performs.
 
Version '''2.0.12625.0''' is currently the latest public version.


You can check your kernel version in "System -> Console Settings -> System Info". The line at the bottom contains your kernel version in the format K:2.0.''nnnnn''.0, where ''nnnnn'' is your kernel version.
You can check your kernel version in "System -> Console Settings -> System Info". The line at the bottom contains your kernel version in the format K:2.0.''nnnnn''.0, where ''nnnnn'' is your kernel version.


 
=XAM=
=== List of known versions. ===
A lot of fun things are inside XAM. XAM handles gamer profiles and online interactivity, so as you can guess not a lot of information is made public about it. XeDevWiki hopes to change that. XAM handles such things as [[XDBF]] ('''X'''box '''D'''ata'''b'''ase '''F'''ile) files ([[GPD]] ('''G'''amer '''P'''rogress '''D'''ata)/[[SPA]]) and [[PEC]] ('''P'''rofile '''E'''mbedded '''C'''ontent) files.
 
Previews and beta versions are in italics.
 
{| border="0" cellpadding="2"
! Version
! Release Date
! Comment
|-
| 2.0.1888.0
| November 22, 2005
| Original shipped version
|-
| 2.0.2241.0
| November 22, 2005
| Update available at product launch
|-
| 2.0.2255.0
|
[http://www.xbox.com/en-US/community/news/2006/0130-autoupdate.htm January 30, 2006]
| Blocklist for certain .xex file
|-
| 2.0.2258.0
|
[http://www.xbox.com/en-US/community/news/2006/0302-autoupdate.htm March 2, 2006]
|
|-
| 2.0.2857.0
|
[http://www.xbox.com/en-US/community/news/2006/0605-springrelease.htm June 06, 2006]
| "Xbox 360 Spring Update". 125 features and enhancements.
|-
| 2.0.2858.0
|
[http://www.majornelson.com/archive/2006/06/13/Minor-Dash-update.aspx June 13, 2006]
| "Addresses a font issue with the language set to Chinese"
|-
| 2.0.4532.0
|
[http://www.xbox.com/en-US/community/news/2006/1030-novemberupdate-completelist.htm October 31, 2006]
| New identifier X with value 2BB7-8E09-0188-D795
|-
| 2.0.4548.0
|
[http://xbox360.qj.net/Dashboard-Update-The-1080p-fix/pg/49/aid/74661 November 30, 2006]
|1080p fix
|-
| 2.0.4552.0
|
[http://www.securityfocus.com/archive/1/461489 January 9, 2007]
| Fix unsigned code vulnerability
|-
| 2.0.5759.0
|
[http://www.xbox.com/en-US/community/news/2007/0408-im.htm May 9, 2007]
| Added Instant Messaging
|-
| 2.0.5766.0
|
[http://www.majornelson.com/archive/2007/08/07/xbox-360-system-update-august-07.aspx August 7, 2007]
| Wireless guitars. Yet unknown fixes.
|-
| 2.0.5787.0
|
[http://www.majornelson.com/archive/2007/09/20/xbox-360-system-update-september-07.aspx August 20, 2007]
| "Big Button Pad" support
|-
| 2.0.6683.0
|
[http://www.xbox.com/en-US/support/systemupdates/20071204-features.htm December 4, 2007]
| Fall Update. Timing attack works (dependant on CB).
|-
| 2.0.6690.0
|
[http://majornelson.com/archive/2008/04/18/xbox-360-system-update-now-available-no-new-features.aspx April 18, 2008]
| "Preparation for future growth of the service"
|-
| 2.0.6717.0
|
[http://majornelson.com/archive/2008/08/06/xbox-360-system-update-now-available-no-new-features-august-2008.aspx August 6, 2008]
| Scalability Updates
|-
| 2.0.7357.0
| November 19, 2008
| New dashboard ("NXE")
|-
| 2.0.7363.0
| February 3, 2009
| HDMI audio fix
|-
| 2.0.7371.0
| April 2, 2009
| Fixes Xbox Live issues
|-
| ''2.0.8495.0''
| ''July, 2009''
| ''Update preview''
|-
| ''2.0.8496.0''
| ''July 31, 2009''
| ''Update preview (second)''
|-
| 2.0.8498.0
| August 11, 2009
| Public Dashboard Released
|-
| 2.0.8507.0
|
[http://majornelson.com/archive/2009/09/23/xbox-360-system-update-rolling-out-no-new-feature.aspx September 23, 2009]
| Preparation for newer dash
|-
| 2.0.8955.0
|
[http://majornelson.com/archive/2009/10/28/xbox-360-system-update-wireless-adapter-wpa2-support.aspx October 28, 2009]
| Blocking 3rd party storage devices, adding WPA2 support for wireless adapters
|-
| 2.0.9199.0
|
[http://majornelson.com/archive/2010/04/06/xbox-360-system-update-usb-memory-support.aspx April 6, 2010]
| Support for USB Memory storage devices (write)
|-
| ''2.0.12209.0''
|
| ''Kinect and new dashboard beta/preview''
|-
| ''2.0.12416.0''
|
| ''Kinect and new dashboard beta/preview update''
|-
| ''2.0.12567.0''
|
| ''Kinect and new dashboard beta/preview update''
|-
| ''2.0.12581.0''
| ''September 30, 2010''
| ''Kinect and new dashboard beta/preview update''
|-
| ''2.0.12590.0''
|
| ''Kinect and new dashboard beta/preview update''
|-
| ''2.0.12595.0''
| ''October 14, 2010''
| ''Kinect and new dashboard beta/preview update''
|-
| ''2.0.12597.0''
| ''October, 2010''
| ''Kinect and new dashboard beta/preview update''
|-
| ''2.0.12603.0''
| ''October 20, 2010''
| ''Kinect and new dashboard beta/preview update''
|-
| ''2.0.12611.0''
| ''2010''
| ''Final Kinect Dashboard''
|-
| ''2.0.12625.0''
| ''2010''
| ''Fixed the Auto-Start option + additional AP2.5 Checks''
|}


= File Systems =
= File Systems =
Line 195: Line 21:
'''[[FATX]]''' <span style="font-size:85%;">('''F'''ile '''A'''llocation '''T'''able for '''X'''box)</span> is used as the storage filesystem on hard drives/memory units/USB devices/xlaunch.fdf files.
'''[[FATX]]''' <span style="font-size:85%;">('''F'''ile '''A'''llocation '''T'''able for '''X'''box)</span> is used as the storage filesystem on hard drives/memory units/USB devices/xlaunch.fdf files.


'''[[XTAF]]''' <span style="font-size:85%;"></span> is the filesystem used on X360 CD/DVD Media.
'''[[GDFX]]'''/XSF <span style="font-size:85%;">('''G'''ame '''D'''isc '''F'''ormat for '''X'''box)</span> is the filesystem used on X360 CD/DVD Media.


'''[[STFS]]''' <span style="font-size:85%;">('''S'''ecure '''T'''ransacted '''F'''ile '''S'''ystem)</span> is used for game saves, profiles, arcade games, downloadable content and more. STFS is also referred to as CON/LIVE/PIRS files, as they are all STFS files, just signed with a different header.
'''[[STFS]]''' <span style="font-size:85%;">('''S'''ecure '''T'''ransacted '''F'''ile '''S'''ystem)</span> is used for game saves, profiles, arcade games, downloadable content and more. STFS is also referred to as CON/LIVE/PIRS files, as they are all STFS files, just signed with a different header.
Line 208: Line 34:
'''[[PEC]]''' <span style="font-size:85%;">('''P'''rofile '''E'''mbedded '''C'''ontent)</span> is used as another layer of security inside profiles.
'''[[PEC]]''' <span style="font-size:85%;">('''P'''rofile '''E'''mbedded '''C'''ontent)</span> is used as another layer of security inside profiles.


'''[[XContent]]''' <span style="font-size:85%;">(Content Packages)</span> is used for secure storage of files on memory devices.
'''[[STFS]]''' <span style="font-size:85%;">('''S'''ecure '''T'''ransacted '''F'''ile '''S'''ystem)</span> is used for secure storage of files on memory devices.


'''[[XDBF]]'''/'''[[GPD]]'''/'''[[SPA]]''' <span style="font-size:85%;">('''X'''box '''D'''ash'''b'''oard '''F'''ile/'''G'''amer '''P'''rofile '''D'''ata/'''S'''tatistics, '''P'''resence and '''A'''chievements)</span> is used for profiles (achievements/settings/titles) and games (achievements/strings/ratings).
'''[[XDBF]]'''/'''[[GPD]]'''/'''[[SPA]]''' <span style="font-size:85%;">('''X'''box '''D'''ash'''b'''oard '''F'''ile/'''G'''amer '''P'''rofile '''D'''ata/'''S'''tatistics, '''P'''resence and '''A'''chievements)</span> is used for profiles (achievements/settings/titles) and games (achievements/strings/ratings).
Line 216: Line 42:
'''[[XMI]]''' <span style="font-size:85%;">('''X'''enon '''M'''usic '''I'''ndex)</span> is used to index music on the Xbox.
'''[[XMI]]''' <span style="font-size:85%;">('''X'''enon '''M'''usic '''I'''ndex)</span> is used to index music on the Xbox.


[[Category:Software]]
[[Category:Xbox360 System Software]]

Latest revision as of 00:07, 7 January 2014

The Xbox's Original Software is composed of many things, including the bootloaders, the kernel, the dashboard and more.

Bootloaders

The Xbox 360 system uses a series of bootloaders to load the hv/kernel and dashboard. These loaders are explained at Boot Process.

Hypervisor

The Hypervisor is the main operating system being run on the console. It looks after the kernel and stops things like buffer overflows from happening. It also manages a lot of the security aspects of the 360, including memory encryption and region protection. It has code to handle the XeKeys (keyvault + some static ones) and XEXs. The end-user of an Xbox would never have any knowledge of the hypervisor, it's only really interesting for hackers.

Kernel

The Xbox 360's Kernel is responsible for low level hardware communication and more. This is the main part of the 360, the kernel is where all the user-based stuff happens. The drivers for accessing most of the hardware is located in the Kernel, along with certain drivers for other things used by the system (e.g. FATX (File Allocation Table for Xbox), STFS (Secure Transacted File System), SFCX (System Flash Controller for Xbox). This is the most interesting part of the console because of all the functions it performs.

You can check your kernel version in "System -> Console Settings -> System Info". The line at the bottom contains your kernel version in the format K:2.0.nnnnn.0, where nnnnn is your kernel version.

XAM

A lot of fun things are inside XAM. XAM handles gamer profiles and online interactivity, so as you can guess not a lot of information is made public about it. XeDevWiki hopes to change that. XAM handles such things as XDBF (Xbox Database File) files (GPD (Gamer Progress Data)/SPA) and PEC (Profile Embedded Content) files.

File Systems

The Xbox 360 uses various File Systems for storing games, user content and more.

FATX (File Allocation Table for Xbox) is used as the storage filesystem on hard drives/memory units/USB devices/xlaunch.fdf files.

GDFX/XSF (Game Disc Format for Xbox) is the filesystem used on X360 CD/DVD Media.

STFS (Secure Transacted File System) is used for game saves, profiles, arcade games, downloadable content and more. STFS is also referred to as CON/LIVE/PIRS files, as they are all STFS files, just signed with a different header.

SFCX (Secure File Cache for Xbox) is used for cache storage for games.

NAND File System is used to store the bootloaders, kernel, keyvault and other files on the NAND.

File Formats

The Xbox 360 also uses different File Formats for storage of data, as storage on the Xbox is limited, these files are usually binary. XeNTaX.com is a DataBase of hundreds of different file formats, which may be of help.

PEC (Profile Embedded Content) is used as another layer of security inside profiles.

STFS (Secure Transacted File System) is used for secure storage of files on memory devices.

XDBF/GPD/SPA (Xbox Dashboard File/Gamer Profile Data/Statistics, Presence and Achievements) is used for profiles (achievements/settings/titles) and games (achievements/strings/ratings).

XEX (Xenon Executable) is the executable format used by the Xbox 360.

XMI (Xenon Music Index) is used to index music on the Xbox.