Sponsored Links

Sponsored Links

GeoHot Releases PS3 Hack, Exploit Your System and Enjoy!

Sponsored Links
256w ago - As a BIG follow-up to his Sample PS3 Linux Isolated SPU Loader Code, GeoHot has now released his coveted PS3 hack so end-users can exploit their non-Slim PlayStation 3 Entertainment System!

Essentially what it does is modify the PS3's hypervisor adding two calls for reading/writing to all of the system memory.

To quote: "In the interest of openness, I've decided to release the exploit. Hopefully, this will ignite the PS3 scene, and you will organize and figure out how to use this to do practical things, like the iPhone when jailbreaks were first released. I have a life to get back to and can't keep working on this all day and night.

Please document your findings on the [Register or Login to view links]. They have been a great resource so far, and with the power this exploit gives, opens tons of new stuff to document. I'd like to see the missing HV calls filled in, nice memory maps, the boot chain better documented, and progress on a 3D GPU driver. And of course, the search for a software exploit.

[Register or Login to view links] is the coveted PS3 exploit, gives full memory access and therefore ring 0 access from OtherOS. Enjoy your hypervisor dumps. This is known to work with version 2.4.2 only, but I imagine it works on all current versions. Maybe later I'll write up [Register or Login to view links]

I've gotten confirmation the exploit works on 3.10. Also I've heard about compile issues on Fedora. I did this in Ubuntu.

Good luck!"

Usage Instructions:

Compile and run the kernel module.

When the "PRESS THE BUTTON IN THE MIDDLE OF THIS" comes on, pulse the line circled in the picture low for ~40ns.
Try this multiple times, I rigged an FPGA button to send the pulse.
Sometimes it kernel panics, sometimes it lv1 panics, but sometimes you get the exploit!!
If the module exits, you are now exploited.

This adds two new HV calls,
u64 lv1_peek(16)(u64 address)
void lv1_poke(20)(u64 address, u64 data)
which allow any access to real memory.

The PS3 is hacked, its your job to figure out something useful to do with it.

How it works:

geohot: well actually it's pretty simple
geohot: i allocate a piece of memory
geohot: using map_htab and write_htab, you can figure out the real address of the memory
geohot: which is a big win, and something the hv shouldn't allow
geohot: i fill the htab with tons of entries pointing to that piece of memory
geohot: and since i allocated it, i can map it read/write
geohot: then, i deallocate the memory
geohot: all those entries are set to invalid
geohot: well while it's setting entries invalid, i glitch the memory control bus
geohot: the cache writeback misses the memory
geohot: and i have entries allowing r/w to a piece of memory the hypervisor thinks is deallocated
geohot: then i create a virtual segment with the htab overlapping that piece of memory i have
geohot: write an entry into the virtual segment htab allowing r/w to the main segment htab
geohot: switch to virtual segment
geohot: write to main segment htab a r/w mapping of itself
geohot: switch back
geohot: PWNED
geohot: and would work if memory were encrypted or had ECC
geohot: the way i actually glitch the memory bus is really funny
geohot: i have a button on my FPGA board
geohot: that pulses low for 40ns
geohot: i set up the htab with the tons of entries
geohot: and spam press the button
geohot: right after i send the deallocate call

On the Isolated SPUs

Today I verified my theories about running the isolated SPUs as crypto engines. I believe that defeats the last technical argument against the PS3 being hacked.

In OtherOS, all 7 SPUs are idle. You can command an SPU (which I'll leave as an exercise to the reader) to load metldr, from that load the loader of your choice, and from that decrypt what you choose, everything from pkgs to selfs. Including those from future versions.

The PPU is higher on the control chain then the SPUs. Even if checks were to be added to, for example, verify the hypervisor before decrypting the kernel, with clever memory mappings you can hide your modified hypervisor.

Ah, but you still didn't get the Cell root key. And I/we never will. But it doesn't matter. For example, we don't have either the iPhone or PSP "root key". But I don't think anyone doubts the hackedness of those systems.

I wonder if any systems out there are actually secure?

Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter, Facebook and be sure to drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene and PlayStation 4 scene updates and fresh homebrew releases!

Comments 289 Comments - Go to Forum Thread »

• Please Register at PS3News.com or Login to make comments on Site News articles.
#259 - TUHTA - 254w ago
TUHTA's Avatar
i think the best one is just wait a bit for someone that will create normal 40ns pulse button!!

Arghhh i spent money for NE555 one and it doesn't work like Mdiv said... i'm very angry and sad

#258 - SCE - 254w ago
SCE's Avatar
Any new ideas since xorloser posted a lot more info? I think the price can go about 15 bucks for everone who wants to give it a try. Personally I can spend 25 bucks for the HyperVisor

#257 - marvin24 - 255w ago
marvin24's Avatar
Quote Originally Posted by conee View Post
unfortunately this will not work. i'm not sure if you think you know what you're doing, but a diode is not an inverter. on top of this, your "design", if it worked correctly (which it doesn't) would run into the same issues as my previous one did, which is while the circuit is ON, you'll be pushing vcc onto the ram bus and completely screwing up any communication on that line. 5V doesn't matter where you source it from, you could have a test bench with a power supply and this would still work.

What about using a FET tied to ground?

#256 - MysticMan - 255w ago
MysticMan's Avatar
Hi folks,

just for the maths, we need a triggered signal pulling that signal line down to ground for about 40ns?

Why don't you use an Atmel Atmega48-20PU? It runs smoothly with 25 Mhz (even up to 29 Mhz is possible)

Its cheap (around 1-3 depends on quantity) ,the ISP Programmer costs about 20 and for you ones who are to lazy to solder your own Board just grab an eval. Board for about 15.

As an alternative: why don't you trigger to ground via a real small capacitor?
We have no real current running here, do we? Gimme some time for the maths, that circuit should be easy to calculate.

#255 - arghzzz - 255w ago
arghzzz's Avatar
Quote Originally Posted by inginear View Post
for a micro-controller solution, have you looked at the arduino? with all the development and user knowledge surrounding the arduino i would think there would be a way to program it to send a low pulse through one of the digital out pins.

The arduino is to slow. only 16Mhz. 25 Mhz is needed to archive 40ns in one clockcycle.


Sponsored Links

Sponsored Links
Sponsored Links

Sponsored Links

Advertising - Affiliates - Contact Us - PS3 Downloads - PS3 Forums - Privacy Statement - Site Rules - Top - © 2015 PlayStation 3 News