程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> awdBIOS 鏡像結構簡單分析

awdBIOS 鏡像結構簡單分析

編輯:.NET實例教程

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    本文所涉及到的資料,均來自internet...
    造成的後果,與本人無關
|   內容僅為個人意見。由於時間倉促,很多細節沒有驗證,錯誤很多。
|   如果您有不同意見,可聯系
[email protected],歡迎指正。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[1].關鍵數據結構
    (1).*BBSS*
        see AwdBiOSSrc
   
    (2).-lh5-
        see AwdbEditSrc
        see Xfcous Article 'xxx文件格式xxx'
   
    (3).*KSA    (Locate in SystemBiOS中)
        see AwdBiOSSrc
   
[2].幾個鏡像的結構

----------------------------BiOS 6.00PG (512KB /????)----------------------------
BIOS Version:Phoenix - AwardBiOS v6.00PG
BiOS Info:11/05/2003-KT600-8237-6A6LYA1GC-13
BIOS ID:6A6LYA1Gnix - AwardBiOS v6.00PG

Name:KV7_13.BIN         Type:50000000   Offset:       0 ModuleSize:129E1
Name:awardext.rom       Type:407F0000   Offset:   129E3 ModuleSize:8F5F
Name:ACPITBL.BIN        Type:40030000   Offset:   1B943 ModuleSize:1ABA
Name:AWARDEPA.BIN       Type:40020000   Offset:   1D3FE ModuleSize:22A
Name:awardeyt.rom       Type:400E0000   Offset:   1D629 ModuleSize:3F24
Name:_EN_CODE.BIN       Type:40290000   Offset:   2154E ModuleSize:261B
Name:8233LAN.BIN     &n

bsp;  Type:40860000   Offset:   23B6A ModuleSize:80FE
Name:6420R221.rom       Type:40870000   Offset:   2BC69 ModuleSize:6C6A
Name:leaving.bin        Type:40A40000   Offset:   328D4 ModuleSize:12C5

External_BootRom_Seg:7000       //4GB-64KB+0x7000 --->FileOffset 0x77000
Decompress_Code_Seg:9400        //hehe,should be '=Award Decompression BiOS ='
WholeBootRomStart_Seg:6000
ROMDrive_Limit_Seg:6000         //4GB-64KB+0x6000 --->file offset 0x76000
ESCD_Data_Seg:FFFF              //not exist?
Extract_Entry:9ADE
Expand_Entry:9B34
BootExt_Size:9                  //9KB  == DecompBlockStart-ExtBootRomSeg=0x9400-0x7000=9KB

+-----------------------------+ 0x00000 '-lh5-' --->LzhModule
|         lzh module          |
+-----------------------------+
|         lzh module          |
+-----------------------------+
|         lzh module          |
+-----------------------------+
|                             |
+-----------------------------+
|      Free Space(0xFF)       |
+-----------------------------+
|                             |
+-----------------------------+ 0x76000 here appear code that !=0xFF

r />|                             |
+-----------------------------+
|                             |
+-----------------------------+ 0x79400 '=Award Decompression BiOS ='
|      DecompBlock(4KB??)     |
+-----------------------------+ 0x79F30 '*BS1'
|                             |
+-----------------------------+ 0x79F50 '*BBSS*' --->Bootblock Signature struct...
|                             |
+-----------------------------+ 0x7A000 'IMD$'   --->DMI Area
|         DMI (8KB)           |
+-----------------------------+ 0x7C000
|                             |
+-----------------------------+ 0x7E000 'Award BootBlock BiOS v1.0'
|       BootBlock(8KB)        |
+-----------------------------+ 0x7FFFF


----------------------------BiOS 6.00PG (256KB/16K-8K-8K Unit???)----------------------------

Name:6A69VM4H.BIN       Type:50000000   Offset:       0 ModuleSize:12AE2
Name:awardext.rom       Type:407F0000   Offset:   12AE4 ModuleSize:96C8
Name:CPUCODE.BIN        Type:40010000   Offset:   1C1AD ModuleSize:1024
Na
me:ACPITBL.BIN        Type:40030000   Offset:   1D1D2 ModuleSize:17BB
Name:AwardBmp.bmp       Type:40020000   Offset:   1E98E ModuleSize:30C
Name:_EN_CODE.BIN       Type:40290000   Offset:   1EC9B ModuleSize:1396
Name:ANTI_VIR.BIN       Type:40070000   Offset:   20032 ModuleSize:14AB
Name:cafe.bmp           Type:40000000   Offset:   214DE ModuleSize:492E

SystemBiOS CRC:AC36
BIOS Version:Award Modular BiOS v6.00PG
BiOS Info:10/09/2001-i845-W627HF-6A69VM4HC-00
BIOS ID:6A69VM4Hd Modular BiOS v6.00PG

External_BootRom_Seg:4000           //bootExt Start=0x34000
Decompress_Code_Seg:7000            //DecompBlock  -0x37000
WholeBootRomStart_Seg:4000          //
ROMDrive_Limit_Seg:4000             //
ESCD_Data_Seg:A000                  //'ACFG'=0x3A000
Extract_Entry:76DE                  //
Expand_Entry:7734                   //
BootExt_Size:C                      //bootExt_Size=DecompBlock-ExtBootStart=0x7000-0x4000

+-----------------------------+ 0x00000 '-lh5-' --->LzhModule
|         lzh module          |
+-----------------------------+
|         lzh module   

       |
+-----------------------------+
|         lzh module          |
+-----------------------------+
|                             |
+-----------------------------+
|      Free Space(0xFF)       |
+-----------------------------+
|                             |
+-----------------------------+ 0x34000 here appear code that !=0xFF
|                             |
+-----------------------------+
|                             |
+-----------------------------+ 0x37000 '=Award Decompression BiOS ='
|      DecompBlock(4KB??)     |
+-----------------------------+ 0x37B20 '*BS1'
|                             |
+-----------------------------+ 0x37B40 '*BBSS*' --->Bootblock Signature struct...
|                             |
+-----------------------------+ 0x38000 'IMD$'   --->DMI Area
|         DMI (8KB)           |
+-----------------------------+ 0x3A000 'ACFG'   --->ESCD Area
|         ESCD (8KB)          |
+----------

-------------------+ 0x3C000
|                             |
+-----------------------------+ 0x3E000 'Award BootBlock BiOS v1.0'
|       BootBlock(8KB)        |
+-----------------------------+ 0x3FFFF

----------------------------BiOS 6.00PG (512KB/64KB Unit?)----------------------------

Name:ms86517b.BIN       Type:50000000   Offset:   20000 ModuleSize:13B4A
Name:awardext.rom       Type:407F0000   Offset:   33B4C ModuleSize:9D7E
Name:CPUCODE.BIN        Type:40010000   Offset:   3D8CB ModuleSize:3790
Name:ACPITBL.BIN        Type:40030000   Offset:   4105C ModuleSize:1AF1
Name:AwardBmp.bmp       Type:40020000   Offset:   42B4E ModuleSize:2A9
Name:awardeyt.rom       Type:400E0000   Offset:   42DF8 ModuleSize:65E6
Name:_EN_CODE.BIN       Type:40290000   Offset:   493DF ModuleSize:1F41
Name:SDG_2731.DAT       Type:40800000   Offset:   4B321 ModuleSize:6671
Name:DMBM_Tt.ROM        Type:40160000   Offset:   51993 ModuleSize:626
Name:MBINFO.ROM         Type:400F0000   Offset:   51FBA ModuleSize:C8
Name:RTSROM_M.LOM       Type:40860000   Offset:   52083 ModuleSize:7DA8
Name:L_PII.BMP          Type:40000000   Offset:   59E2C ModuleSize:1639
Name:L_HT.BMP           Type:40200000   Offset:   5B466 M
oduleSize:18EA
Name:L_P4.BMP           Type:40210000   Offset:   5CD51 ModuleSize:1858
Analyse BiOS Okay!!!
Decompress okay...!!!
SystemBiOS CRC:656A
BIOS Version:Phoenix - AwardBiOS v6.00PG
BiOS Info:04/04/2005-i865-W83627-6A79Q1JC-00
BiOS ID:6A79Q1J
External_BootRom_Seg:B00E           //0xEB000   ---> FileOffset:0x6B000 ?
Decompress_Code_Seg:EE4E            //0xEEE40   ---> FileOffset:0x6EE40 !
WholeBootRomStart_Seg:B00E          //0xEB000   ---> FileOffset:0x6B000 ?
ROMDrive_Limit_Seg:B00E             //0xEB000   ---> FileOffset:0x6B000 ?
ESCD_Data_Seg:1                     //0x10000   ---> FileOffset:0x10000 ?
Extract_Entry:F51E
Expand_Entry:F574
BootExt_Size:C                      //12KB??    ---> ?

+-----------------------------+ 0x00000 'IMD$' --->DMI Area
|         DMI Block           |
+-----------------------------+ 0x10000 'ACFG' --->ESCD Area
|         ESCD Block          |
+-----------------------------+ 0x20000 '-lh5-' -->LzhModule
|         lzh module          |
+-----------------------------+
|         lzh module          |
+-----------------------------+
|      Free Space(0xFF)       |
+----------------------------

-+
|                             |
+-----------------------------+ 0x63FE0 here appear code that !=0xFF
|                             |
+-----------------------------+
|                             |
+-----------------------------+ 0x6EE40 '=Award Decomp

ression BiOS ='
|      DecompBlock(4KB??)     |
+-----------------------------+ 0x6F950 '*BS1'          ???????
|                             |
+-----------------------------+ 0x6F970 '*BBSS*' --->Bootblock Signature struct...
|                             |
+-----------------------------+
|                             |
+-----------------------------+ 0x7E000 'Award BootBlock BiOS v1.0'
|       BootBlock(8KB)        |
+-----------------------------+ 0x7FFFF

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

下面是Awd2MbBiOS_Src中的片斷,解釋了上面的問題:

(location:\btromseg.equ)

;================== Flash 64K unit definition ================
ifdef Flash_64k_unit
    Flash_2M_support    equ 1
&
nbsp;  
    ESCD_Data_Seg       =   0ffffh      ;assume none
    ifdef PNP_BiOS
      ESCD_Data_Seg     =   00000h      ;physical = 00000h
      ifdef DMI_ENABLED
        ESCD_Data_Seg       =   00001h  ;physical = 10000h
      endif ;DMI_ENABLED
      ifdef P6_BiOS_ONLY
        ESCD_Data_Seg       =   00001h  ;physical = 10000h
      endif ;P6_BiOS_ONLY
    endif ;PNP_BiOS

    External_BootRom_Seg    =   0e006h  ;physical = 6e000h
    Decompress_Code_Seg =   0f006h+Extra_MemSizing_Space        ;physical = 6f000h+Extra_MemSizing_Space
    ROMDrive_Limit_Seg  =   0e006h      ;physical = 6e000h
    WholeBootRomStart_Seg   =   0e006h  ;physical = 6e000h
endif
;==============================================================

對於不同的Flash有不同的Unit 大小?

64KB Unit
16K-8K-8K Unit
4KB Unit

BIOS鏡像的關鍵信息都包含在BBSS結構中(至少在6.00PG中),對於不同版本的AwdBiOS,
結構不一定一樣/存在?
曾在一個Award BiOS 6.0中沒有找到BBSS結構,卻找到了一個*BBSN*標志,沒辦法,只能將這個位置
看作BBSS結構來計算BiOS (Decompess Block Cksum)效驗和.

至於BBSS結構和 LZH結構,看下文吧... 



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved