Xbox 360 dashboard update and efuses

Some recent news over at Xbox-Scene has made it clear that Microsoft fully intends to exploit the enhanced security features of the IBM PowerPC-based CPU. Effectively, once you’ve installed the January 2007 update for the console (kernel version 4552), you’ve tripped an “efuse” that refuses to boot prior kernel versions. There may be up to 32 of these software-programmable switches, and once the efuse has been set it cannot be reversed.

This situation is similar to the electronic countermeasures employed by DirecTV in attempting to disable satellite decryption cards. On Black Sunday, writing invalid data to a PROM caused pirate smart cards to refuse to bootstrap the satellite receiver. In this case, tripping the efuse in the CPU prevents the Xbox 360 from booting previous kernel versions.

It might now be possible to sympathize with people who claim that “the latest dashboard update bricked my console”, considering that there are two ways for the update to cause the condition:

from x-s forums:

Looks like what is happening is either:

A) During the update the EFuse doesn’t blow and the dash updates fine which when checked by Hypervisor returns a no boot condition

B) During the update the EFuse blows correctly and the update DOES NOT flash correctly which when checked by the Hypervisor returns a no boot condition.

For more information on the update package itself, including a string extraction, hit the jump.

I’ve downloaded a copy of the January 2007 update from Xbox.com (get it yourself, here) to investigate its file contents. This XEX file is 6.19MB.

Running strings against this file returns the following interesting information (this is just an abstract) :


System Update

$flash_aac.xexp
$flash_bootanim.xexp
$flash_createprofile.xexp
$flash_dash.xex
$flash_deviceselector.xexp
$flash_feedback.xexp
$flash_friends.xexp
$flash_gamerprofile.xexp
$flash_hud.xexp
$flash_huduiskin.xexp
$flash_marketplace.xexp
$flash_mfgbootlauncher.xexp
$flash_minimediaplayer.xexp
$flash_quickchat.xexp
$flash_signin.xexp
$flash_systemupdate.xex
$flash_updater.xexp
$flash_vk.xexp
$flash_voicemail.xexp
$flash_xam.xexp
$flash_xefu.xexp
$flash_XenonCLatin.xttp
$flash_ximedic.xexp
$install_extender.xex
xboxupd.bin
XEX2

FFFE07D1
^dashskn2
XBdashskn1
mediamp
download
oobe
neon
signupbo
dashuisk
anetwork
botd
live
swvideocha
videos
pictures
music
memory
vaccountm
Rmediabla
gamesbla
games
[dvd
dashmark
Q[dashcomm
dashmain
consoles
arcade
n,j#
\Device\Flash\dash.xex
dash.exe
XAPILIB
LIBCMT
XBOXKRNL
D3D9
XUIRUN
XUIRNDR
XNET
XMPP
XONLINEP
XCAM
XHV
XMEDIAP
XAPILBP
XAUD
XGRAPHC
xam.xex
xboxkrnl.exe
xam.xex
xboxkrnl.exe