Editing Talk:Dumping Bootldr
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 45: | Line 45: | ||
===The bootldr exploit=== | ===The bootldr exploit=== | ||
If you see the log | If you see the log you'll see a lot of data exchanging between the spu and the syscon. graf had described it on his bible so it was known... but the log also said that the data was read twice once to read the header and once to read header + data. | ||
On the header was a variable length. So I decided to change the len between both reads.... didn't work until i corrected also the chksum... and then BINGO! unexpected behavior... a possible exploit was found. | On the header was a variable length. So I decided to change the len between both reads.... didn't work until i corrected also the chksum... and then BINGO! unexpected behavior... a possible exploit was found. | ||
Line 110: | Line 110: | ||
SHA-1: 865729E2E2917134128B397D1237568572F6D2FB | SHA-1: 865729E2E2917134128B397D1237568572F6D2FB | ||
http://mir.cr/M21DPLBK | http://mir.cr/M21DPLBK | ||
== Porting to NAND == | == Porting to NAND == | ||
Problems / needed changes: | Problems / needed changes: | ||
* NAND offsets differ from NOR : http://www.ps3devwiki.com/wiki/Flash | * NAND offsets differ from NOR : http://www.ps3devwiki.com/wiki/Flash | ||
* NAND / FLASH controller doesn't have MMIO regions : www. | * NAND / FLASH controller doesn't have MMIO regions : http://www.ps3devwiki.com/wiki/Talk:Hypervisor_Reverse_Engineering#MMIO_.2F_Memorymap | ||
=== Solution 1 === | === Solution 1 === | ||
1. comment this: | [pre] | ||
prepareSPEPage(); | 1. comment this: | ||
prepareSPEPage(); | |||
2. create an empty 16 MB file for your flash dump, then get your bootldr dump and place it to this empty file at offset 0xFC0000 | 2. create an empty 16 MB file for your flash dump, then get your bootldr dump and place it to this empty file at offset 0xFC0000 | ||
[/pre] | |||
== Other References == | == Other References == | ||
* http://nwert.wordpress.com/2012/11/20/the-exploit/ | * http://nwert.wordpress.com/2012/11/20/the-exploit/ | ||