Verify E3 flash dump

1 - Analisis statistik

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

Buka "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 


"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 dump)


3 - Fail cacat 

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 korup ; sepatutnye mula dengan "00 00" bukan "28 B4"


4 - Magic header 


Kat offset 0x10 sepatutnya ada FACEOFF DEADBEEF value/magic header

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

0x0000010 00 00 00 00 0F 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

NOTE : Kedua2 size ros1 dan ros2 mesti sama

bootloader_0 
cCSD 
eEID 
cISD 
trvk_prg0 
trvk_prg1 
trvk_pkg0 
trvk_pkg1 
cvtrm


6 - Saiz Metldr+Bootldr 


saiz metldr dan bootldr berbeza ikot Motherboard_Revision.

6.1 - 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 :

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 : "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 : 


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 : "0x8A Retail South Asia CEX"

**optional : cek jenis harddrive


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

contoh :

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 MK1200 
F20210 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 - Bootloader/Metldr mengikut MOBO value. 


cek value bagi setiap MOBO value kat sini http://imageshack.us/f/819/capturewyx.png/

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 - 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 papar 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

Compare metldr value dari dump dengan dari dalam table. Kedua2 value adalah sama

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/he...imal-converter) . jadi nilai sebenar bagi value E8 90 ialah 59536.

Buka 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

Point kepada Offset 0xFC0012, value Offset tu ialah 2F 13

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


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

Buka file bkpps3.swap.ext\bootloader_0, right click pada bootloader_0, value : (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 :

Buka 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 cume listed sekali

Untuk asecure loader ni adalah hex value :


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


buka 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


No comments:

Post a Comment