Saturday 28 July 2012

Tutorial : Validating E3 flash dump (NOR only)

Validating flash dump part yang paling penting masa downgrade.pastikan dapat dump yang 100% correct, valid, verified dumps.

Kalau takde dump yang bagus/invalid/bad dan rewriting ke flash,restoring process takkan jadi.bukan setakat tu,konsol mungkin akan permanent brick/permabrick!


NOTE : ni cara basic,mungkin kene cek lagi dengan yang pakar.



--------------------------------------------------


1 - Analisis statistik

Launch Flowrebuilder kat pc. pilih option "Byte reverse and EXTRACT a NOR dump file." kat input drag/drop dump yang nk bytereversed.

Once completed, bukak "bkpps3.swap" dengan HxD. pilih Statistics kat Analysis menu. mouse over blue graph bars dr 00 dan FF. nilai untuk valid flash dump :

00 = 18.71% - 29.01%
FF = 10.42% - 10.48%
rest = bawah 0.5%



2 - Bytereversed

Contoh :

"00 00 00 00 0F AC E0 FF 00 00 00 00 DE AD BE EF" (HEX) and asecure_loader

bukan

"00 00 00 00 AC 0F FF E0 00 00 00 00 AD DE EF BE" (HEX) and saceru_eoldare

NOTE : semua dump dari E3 dlm bytereversed condition (original)


3 - Fail cacat

Contoh : bootldr

Offset(h)   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00FC0000 28 B4 4F D2 F9 3F BC 43 28 B4 4F D2 F9 3F BC 43


bootldr rosak ; sepatutnye mula dengan "00 00" bukan "28 B4"


4 - Magic header

kat offset 0x10 sepatutnya ade FACEOFF DEADBEEF value/magic header

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0000010 00 00 00 00 0
F AC E0 FF 00 00 00 00 DE AD BE EF



5 - Dump content


Valid dump bila dah extract mesti ada fail/folder :

asecure_loader aka metldr
ros0 <-- content system information before update
ros1 <-- content current system information
bootloader_0
cCSD
eEID
cISD
trvk_prg0
trvk_prg1
trvk_pkg0
trvk_pkg1
cvtrm



6 - Cek saiz metldr+bootldr

Saiz metldr dan bootldr berbeza ikot Motherboard_Revision.

6.1 - Cek Motherboard_Revision

Pergi ke offset 0x2F070. untuk cek IDPS/Target_ID table rujuk sini http://pastebin.com/DcfjB4eB

**Motherboard_Revisions // possible sku model (8th byte)

Contoh : (dump dari konsol zamil)

Offset(h)   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0002F070 00 00 00 01 00 8A 00 09 10 00 61 F3 A6 08 76 12 .....Š....aó¦.v

Untuk cek Motherboard_Revisions rujuk byte ke-8 =09. kalau rujuk kat table (http://pastebin.com/DcfjB4eB) , value 09 ialah "0x09 = CECH20A / CECH20B (120GB/250GB Slim) - DYN-001"

Value 09 ade nilai untuk bootloader/metldr tersendiri. so boleh rujuk http://pastebin.com/DcfjB4eB untuk nilai bootloder/metldr.


**optional : cek Target_ID
**Known Target ID's (6th byte)

Contoh : (dump dari konsol zamil )

Offset(h)   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0002F070 00 00 00 01 00 8A 00 09 10 00 61 F3 A6 08 76 12 .....Š....aó¦.v


Untuk cek Target ID rujuk byte ke-6 = 8A. kalau rujuk kat table (http://pastebin.com/DcfjB4eB) , value untuk 8A ialah "0x8A Retail South Asia CEX"

**optional : cek jenis harddrive

Point ke Offset 0xF20200, dekat text sebelah value akan tunjuk brand dan model harddrive

Contoh : (dump dari konsol zamil)

Offset(h)   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00F20200 00 00 00 12 54 4F 53 48 49 42 41 20 4D 4B 31 32 ....TOSHIBA MK12

00F20210 35 35 47 53 58 20 48 20 20 20 20 20 20 20 20 20 55GSX H
00F20220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00F20230 20 20 20 20 20 20 20 38 39 52 4E 43 35 37 4A 54 89RNC57JT

Harddrive = TOSHIBA MK12 55GSX H 89RNC57JT :)

6.2 - Cek bootloader/metldr mengikut MOBO value.
Cek value bagi setiap MOBO value kat sini http://imageshack.us/f/819/capturewyx.png/

Contoh : (dump dari konsol zamil)

Dump dari konsol zamil ade MOBO value of 09.

dr table http://imageshack.us/f/819/capturewyx.png/ , bootloader/metldr value untuk MOBO = 09 ialah :

metldr --> 0x81E (NOR) = E8 90, 0x842 (NOR) = 0E 85 ,

bootloder --> 0xFC0002 (NOR) = 2F 13 , 0xFC0012 (NOR) = 2F 13 ,

saiz = 2F170

6.3 - cek/verify bootloader/metldr dalam dump
6.3.1 - verify metldr value dan saiz :
Drag and drop bkpps3.swap ke HxD.mouse over Search bar dan pilih Go to.

Dalam kotak Offset, isi "81E",tekan ok.ia akan tunjuk offset 0x81E dan value pada offset tersebut. value untuk offset 0x81E ialah E8 90.value ni jugak tunjukkan saiz metldr

Ulang langkah tadi dengan isikan Offset "842".value bagi Offset 0x842 ialah 0E 85

Sekarang compare metldr value dari dump dengan dari dalam table.kedua2 value adalah same :)

Tentukan saiz metldr yang mana value E8 90 dalam Offset 81E. untuk dapatkan nilai sebenar E8 90,convert dari hex ke decimal (http://www.binaryhexconverter.com/hex-to-decimal-converter) . jadi nilai sebenar bagi value E8 90 ialah 59536.

Sekarang bukak folder bkpps3.swap.ext/asecure_loader/metldr, right click pada metldr , kat situ saiz metldr ialah (59,536 bytes)

Bandingkan nilai yang sudah di-convert dengan saiz metldr :

(59,536 bytes) = 59536


6.3.2 - verify bootloader value dan saiz
Dalam HxD,point kepada Offset 0xFC0002,cek value dalam Offset tu = 2F 13

Lepastu point kepada Offset 0xFC0012,value Offset tu ialah 2F 13

NOTE = untuk bootloader, nilai dalam Offset tak mununjukkan saiz bootloader sebenar

Sekarang compare value yang dah dapat dengan table untuk bootloader.value kedua2nya sama :)

Tentukan saiz bootloader.dalam table bootloader,kat situ saiz bootloader ialah 2F170.

Convert 2F170 kepada decimal value : 192880

Sekarang bukak file bkpps3.swap.ext\bootloader_0, right click pada bootloader_0, valuenya ialah (192,880 bytes)

Banding nilai dari bootloader table dengan saiz bootloader_0 :

192880 = (192,880 bytes) 


7 - Cek jika ada double header

Sesetengah value cume ade 1 je dalam satu2 dump. so skrg amek 2 unique 16bytes value :

- IFI header
- asecure loader

**2 bende ni cume listed sekali sahaja untuk satu2 dump!

Untuk IFI header :

Bukak HxD, cari value "49 46 49 00 00 00 00 01 00 00 00 02 00 00 00 00"

Tekan butang Search,Find again.

"Can't find XXXXXXXXXXXXXXX" = OK <---- hex value ni cume listed sekali sahaja.

Untuk asecure loader ni adalah hex valuenya :

"61 73 65 63 75 72 65 5F 6C 6F 61 64 65 72 00 00"

Bukak HxD,cari hex value "61 73 65 63 75 72 65 5F 6C 6F 61 64 65 72 00 00"

Tekan butang Search,Find again

"Can't find XXXXXXXXXXXXXX" = OK <--- hex value listed sekali sahaja  


--------------------------------------------------

Dump seems fine. sekarang selamat untuk proceed downgrade process

Cube verify guna dump dari konsol zamil = (0x09 = CECH20A / CECH20B (120GB/250GB Slim) - DYN-001)

Download = http://www.sendspace.com/file/misogo

No comments:

Post a Comment