2012年2月17日 星期五

如何分析SMBIOS

最在在porting新的function,有需要更新SMBIOS的資料,
因此,學會了如何簡單的分析SMBIOS。

SMBIOS有很多的type,每一個type分別有要特別存放的data,
同時,每一個type有其不同的struct,
這一些部分一定要參考spec,
spec有定義,
而我目前就先以SMBIOS type1為例。

如果要讀取BIOS的相關資訊,可以下載RW-Everything這一個軟體,
裡面有一個讀取SMBIOS的功能,並且會幫你解析出來,是一個非常棒的軟體,而且是免費的。

另外,SMBIOS,在網路上Search就有了,我使用的版本是System Management BIOS (SMBIOS) Reference Specification v.2.7.1的版本。

下面就是Specification裡面對type 1 header的定義。

而下面就是透過RW-Everything讀取出來的SMBIOS data


SMBIOS的每一個type分為header與string兩大部分,前面全部都是Header的部分,而後面的部分都是string的部分。而每一個string跟string之間,都是以00(一個byte)當作一個分隔。
並且以00 00(二個byte)則是代表這一個type的string的結束。

沒有留言: