Technical Analysis of XBox Save Game Hack
DJPenguin writes "There is an excellent article at the XBox Linux Project that describes exactly how the XBox savegame hack works. It details how the author went to great lengths to hide exactly what was going on. It turns out the exploit code is hidden within an image of Tux himself!" An enlightening read, to say the least.
Sorry for my ignorance, but why hide the code? If a true linux fanatic wants to spread the good word, so to speak, why bother with the whole encryption routine and fake JMP's? Why not just make the hack completely transparent so anyone can do it?
If anyone knows it would be intresting to hear the reason why.
It looks like it retrives the private key. That's interesting.
I agree that it's interesting but the exploit doesn't retrieve or recreate the private key - it does something I've been fretting about recently: it simply modifies the public key - thereby creating it's own (new and weak) key pair.
From the article:Once you modify the public key this way, you end up with a public key that is easily factorable. It is now divisible by 3!
Anyone here bright enough to suggest a good way to protect from this? My first thought was to sign the public key with another, use an X.509 certificate or something but the problem is that you can always patch the signature/certificate/checksum/whatever verification mechanism... So what is the solution?
microsoft takes the open PC standard, cripples it, makes it so that you can't upgrade it, you cant WRITE code for it without paying them royalties, you cant RUN code on it without paying them, and puts their logo on the front. If you even try to open this crippled PC, your warranty is void, if you open up and play around with this crippled PC that you payed for and you own ("hack") you are breaking the law. Dont even think about selling modifications to this crippled PC. You will be put in prison with all the rapists and murderers and other menaces to society.
The scariest part? Is that in 10 years, we wont be talking about a console. This is the future of the PC.
Something that isn't as effective but worked well is the 'Suicide' function in some arcade game boards.
Here is a description of what it is Basically, the decryption key is stored in a battery backed up RAM. If you toy with the board(trying to dump the rom and whatnot), The key gets lost and the board becomes unusable.
-Bucky
The article says:
But you may not know the actual section he's referring to. Here it is:
And (a)(1)(A) is the bit that everyone calls to mind when they think of the DMCA:
(full text of DMCA)
IANAL, but I think this means that if you crack the protection on something simply so you can understand (and document) the program so it will work with other programs and files, then that's not considered a violation of the DMCA.
-jh
This was defeated.
I believe capcom uses this technique on their boards. The problem is, batteries tend to die over time and at some point the key is lost due to age. (3 years?) The manufacturer will generally fix the system.
However, this encryption method was eventually defeated. The guys were originally doing it to get the old capcom rom's off, but found out they could decrypt the newer games too.
At the time, they decided not to release their findings, as they were a classic rom shop and didn't want to destroy the technique for newer arcades.
I believe the group was decrypting the roms and released those, but eventually someone gave out the material.
I gave up following the story when they said they cracked it, but ethical reasons kept them from giving away the information.
Anyhow, with battery backed up stuff, the trick is to provide power before disconnecting the battery.
"You should always go to other people's funerals; otherwise, they won't come to yours." -- Yogi Berra
This is a 007: Agent Under Fire exploit, not an exploit inherent to the Xbox. Agent Under Fire was made by EA, not Microsoft. Blame the right company.
If this was analyzing the MechAssault hack, then you might have a point.
I've moved on.
The interesting bit should be how the dude discovered the overflow...not how it works.
Discovering an overflow in a controlled environment such as a console is no easy task. Console games don't usually crash - what indicated an overflow was present for exploiting?
After that, exploiting an overflow is really just a menial task. There really are only a few issues to differentiate each case - how long can the exploit string be before it overwrites something critical? Are certain characters not allowed in the string?
Beyond that, exploiting it is simple...
So, anybody know how that particular overflow was discovered?