Software Dumping
Software dumping
Masking by hypervisor on NAND consoles
software dumps:
dump size = 239 MB (251,396,096 bytes)
bootldr not at 0x000000 on NAND :
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000010 00 00 00 00 0F AC E0 FF 00 00 00 00 DE AD BE EF .....¬à ÿ....Þ¾ï
reason:
addi %r12, %r4, 0x200 # r4 = start sector
256MB NAND consoles have a hidden section of size 0x40000 (0x200 * 512 byte sector = 0x40000) hidden by the hv. The hv hides it at address 002786E8
To be able to dump that section, it needs to be unmasked, using poke
Original code : 0x39840200f8010090 Change to : 0x39840000f8010090
Note: Memdump 0.1 does unmasking onthefly when needed.
Dump flash from GameOS
Memdump
PS3 memory dumping tool that can dump lv1, lv2, NAND/NOR Flash, and eEID from GameOS (e.g. stored named with the detected firmware version as : lv1_dump_35500.bin, lv2_dump_35500.bin, flash_stor_35500.bin and flash_eEID_35500.bin respectively if tried it on a 3.55 compatible version).
Download:
- http://gitorious.ps3dev.net/memdump/memdump/trees/master
- http://www.ps3devwiki.com/files/devtools/dumpers/memdump_0.01-FINAL/
- http://www.mirrorcreator.com/files/0GJIQJKJ/memdump_0.01-FINAL.rar_links
Applicable firmwares
FW | lv1 | lv2 | Flash | eEID | 0.01 FINAL | |||
---|---|---|---|---|---|---|---|---|
Logs | Notes | |||||||
<=2.60 CEX/Retail | N / A | N / A | N / A | N / A | Not available as target version atm | |||
<=2.60 DEX/Debug | N / A | N / A | N / A | N / A | ||||
2.70 CEX/Retail | Yes | Yes | Yes | Yes | ||||
2.70 DEX/Debug | Yes | Yes | Yes | Yes | ||||
2.76 CEX/Retail | Yes | Yes | Yes | Yes | ||||
2.76 DEX/Debug | Yes | Yes | Yes | Yes | ||||
2.80 CEX/Retail | Yes | Yes | Yes | Yes | ||||
2.80 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.00 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.00 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.01 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.01 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.10 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.10 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.15 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.15 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.20 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.21 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.21 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.30 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.30 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.40 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.41 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.41 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.42 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.50 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.50 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.55 CEX/Retail | Yes | Yes | Yes | Yes | ||||
3.55 DEX/Debug | Yes | Yes | Yes | Yes | ||||
3.56 CEX/Retail | Pending | Pending | Pending | Pending | ||||
3.56 DEX/Debug | Pending | Pending | Pending | Pending | ||||
=>3.60 CEX/Retail | N / A | N / A | N / A | N / A | Not available as target version atm | |||
=>3.60 DEX/Debug | N / A | N / A | N / A | N / A |
Legenda
- NA : Not Available as target version (mostly because of missing lv1:mmap114 or lv2:peek/poke patches)
- Yes: Fully supported
- No: Not supported
- Partial: Some functions work, others might not be complete
- Pending: No reports yet (help out by sending in your logs and dumps in a ZIP/RAR/7z!)
Known bugs
- buttons do not come back up after pressing -> to be fixed in v0.02 (button handler thread)
- exit app gives rightscreen black triangle -> to be fixed in v0.02 (cleanup RSX buffer)
- when free space is 0 bytes when dumping, application will halt -> to be fixed in v0.02 (check freespace first)
Current limitations
- Needs mmap114+peek/poke as minimal patches
- Can be buggy with strange spoofs
- No reports yet on Kiosk/SEX & Tool/DECR models
- NAND only : second bootldr at 0xF000000 - 0xF03FFFF (The last 256KB of flash) will be missing. Just copypaste the first bootldr 0x0000000 - 0x003FFFF (The first 256KB of flash), they are the same. Also, a console boots fine with only the first one.
NAND patch method
- Extract the dump ("EXTRACT a NOR dump or an interleaved and unscrambled NAND dump." with FlowRebuilder v.4.2.3.0 or higher - it will warn for missing bootldr)
- Open dump with HxD
- Select Block (CTRL-E), start offset 0, end offset 3FFFF, Copy (CTRL-C) that block
- New File (CTRL-N), and paste insert (CTRL-V)
- Save (CTRL-S) as "bootldr"
- Go back to your incomplete dump to the last offset (use scrollbar all the way down and left click on the last "FF" byte below the 0F header)
- Insert bytes (under "Edit" menu option) bytecount: 1040000, hex value 00 (full dump ends at 0xFFFFFFF , incomplete dump ends at 0xEFBFFFF, we thus need to add 0x1040000)
- Goto offset (CTRL-G) F000000
- Open previously saved "bootldr", select all (CTRL-A), Copy (CTRL-C)
- Back to the incomplete dump on offset 0xF000000 paste write (CTRL-B) the bootldr in it
- Check filesize is still ending at 0xFFFFFFF (use scrollbar all the way down - on the left it will note 0FFFFFF0 below "Offset (h).)"
- Save file (CTRL-S) as "fixed.bin" (or whatever you find easy to notice as a fixed/cleaned-up dump)
- That file "fixed.bin" will be 262144 KBytes (256 MBytes or 268.435.456 bytes) large (0FFFFFFF in hex). It will not give warnings with FlowRebuilder v.4.2.3.0 or higher like nonfixed one you started out with at step 1.
If thus complete and valid, it can be used with hardware flasher or software methods. If you need to debrick, downgrade etc. you will need to prepatch it or convert TargetID as needed.
MultiMAN
mmOS->Select any file->Open in HEX viewer->[SELECT]->[START]->DUMP LV2(NO)->DUMP LV1(NO)->DUMP FLASH(YES) :
- navigate to mmOS (start + select)
- open the file browser, and click O on any file, then select open with hex editor
- Press select to open LV2 view, then press start to dump. You will be asked 3 questions
- Dump LV1? select no (or yes, if you want it)
- Dump LV2? select no (or yes, if you want it)
- Dump flash? select YES.
If you do it 4 times, you'll be left with 4 .norbin files on your usb drive
Note: MultiMAN NAND dumps are 239MB, see above section about fixing.
Glevand' dump_flash.pkg
- NAND: Make sure USB stick is FAT32 with enough free space (256MB per dump) - bootldr missing because of masking
- NOR: Make sure USB stick is FAT32 with enough free space (16MB per dump)
Dumping flash from Linux
NAND
dd if=/dev/ps3flash of=NAND.BIN bs=1024
or
dd if=/dev/ps3vflasha of=NAND.BIN bs=1024
(needs unmasking, otherwise bootldr missing)
NOR
dd if=/dev/ps3nflasha of=NOR.BIN bs=1024
|