This is very simple to do (under Linux), with Windows- hopefully someone can get the Ettercap port working properly (I can't!) We are assuming that your PC had your run of the mill development tools installed, if not, check with your distro.
Note: No, you can not run this under PS3 Linux (unless of course, you have two PS3's). We are also assuming that you have a small network set up, with at least one PC, and the PS3 on it, connected into some type of modem.
How It Works:
The PS3 requests a page from $ony servers, that has the latest Firmware version, a download link, region info, etc..
We are hijacking that DNS request, and redirecting the request to our Web server. The Web server has the same files as the $ony servers, modified however to report a 0.00 Firmware version.
The PS3 then will check the file it received (the above mentioned file). It removes data (such as Firmware version), and checks it against its own. If the PS3 has a lower FW version than the $ony server, it needs to update. BUT, if the $ony server has a lower version number (or the same), it does not need to update.
Now leave it alone, it will output a lot of stuff, wait 30 seconds, and go to the PS3, try the store, etc!
Output on PC should look like: dns_spoof: [fus01.ps3.update.playstation.net] spoofed to [18.104.22.168]
The Web server is conviently hosted by us, and any updates are removed, Firmware version is spoofed at 0.00, so unless you’re running a pre 0.00 Firmware, (which you are not) it will work perfectly!
Hopefully a Windows version will be along soon (although Linux works perfectly, the world somehow still uses Windows).
For the future: When the big $ shuts it down w/ a Firmware upgrade (dont use DNS to resolve, go straight IP?), there is still hope! We may be able to spoof the entire store, and use PKG files (aka games/videos etc) on our own Web servers, and install them to the PS3 in a roundabout way.
Also, there is a large potential (with the proper modifications to the PUP) for downgrading!