小華的部落格: DOS Dump

搜尋此網誌

網頁

星期一, 5月 19, 2008

DOS Dump

之前寫了一個Windows版的Dump BIOS工具,所以順便寫一個DOS版的工具,不過我沒把讀取到的BIOS資料輸出到檔案,而只有顯示在螢幕上,如果大家有興趣可以下載回去看看。

不寫到檔案的原因在於DOS存取USB隨身碟要ㄧ段時間,所以我就沒做這部份的功能,但是如果大家有興趣把BIOS內容存到隨身碟然後在慢慢分析,你可以試著使用DOS重新導向功能來達到這個目的。

使用DOS重新導向的做法如下,不過我要事先提醒你,很花時間喔!!!

C:\> Dosdump /4k > BIOS.bin (輸出4k大小的BIOS內容到BIOS.bin檔案中)

這邊說的4K是指,從FFFF_FFFF往下算4K Bytes

DOSDump.exe
Usage:

Arg1 :
/Byte /word /dword 只顯示256 Bytes ,只是自己好玩,模仿一下不同格式的顯示!
/4k /64k /128k /512k/1M/2M 看你要多大就設定多大

Arg2: /p 顯示的時候要不要等待按鍵,如果你想慢慢看,你可以用這個參數

EX1:
C:\> DOSDUMP /4k /p

EX2:
C:\>DOSDUMP /2M

工具與原理:
我是使用DOS的C語言編譯器去寫的,因為是16 bit編譯器,所以要自己切換CPU工作模式,做法如同BigRealmode方式只是換成C的寫法而已,而副程式是採用__emit__(); 方式內崁機器碼的方式撰寫! 以避免16 bit編譯器無法使用"32bit暫存器的問題",例如: EAX..

點我下載

補充
放一個新版的DOSDump v1.0,增加一個小功能,你可以用來指定你要看的記憶體位址的內容,或是針對某個範圍內去搜尋某個字串。

/a : Start Address
/s: size (Hex)
/f:find string
/p: pause

ex1: 在FFE00000~FFFFFFFF內搜尋字串"_DMI" ,如果有找到則顯示起始位址開始的256 bytes. ,假如找到的位址在FFEB0000h,則會顯示FFEB0000h~FFEB00FFh的內容。

DOSDump /a:FFE00000 /s:200000 /f:_DMI

ex2: 顯示某個位址開始,大小為4K的內容,且每256 bytes暫停一下
DOSDump /a:F0000 /s:1000 /p

新版的工具,請點我下載

※請在DOS環境使用
※參數後面直接打16進制的位址,請不要加0x..或是xxxh 因為我沒防呆喔!
※工具寫的很陽春,沒有防呆,也沒錯例外處理,所以請多多包涵! ^^

6 則留言:

阿山的家 提到...

Dear Harrison 你好:

我是傳識資訊的Mountain Lin, 很高興有機會和你聯繫, 看你的blog的內容, 感覺上你是一個蠻技術導向的人, 很想和你交個朋友, 所以和你聯繫

我們公司--傳識資訊 ( www.fitpi.com ),是一家專業的教育訓練單位,也是ARM與MIPS在台所授權的 教育訓練中心,我們的定位是針對企業用戶提供所需的課程訓練,我們的專長在嵌入式產品,網路,及通信的教育訓練,所以會依據企業的課程需求,尋找適合的兼任講師。

因我們在教育訓練有多年的經驗, 也訓練出不少嵌入式相關的學員, 若是你們有相關領域人員尋找的需求, 我們也可提供一些協助。 因為我們和很多技術人員接洽過, 所以很希望能善用這些人力資源,

下列是我們目前所提供的課程, 提供給你作參考:
http://www.fitpi.com.tw/products/emb_sys/index.html

我們目前主要的課程領域是Windows driver, 嵌入式Win ce, Linux及多媒體相關的課程, 不知你是否有意願, 或是有合適的朋友可以作介紹,讓我們共同為資訊產業素質的提升盡一份心力。

謝謝你

期盼與你交朋友的Mountain
我的聯絡資料:0930-037436, mountain@fitpi.com,

小華的部落格 提到...

Dear Mountain,
很高興你不嫌棄的瀏覽小弟這個不是很有內容的部落格啦!也很歡迎大家交個朋友!不介意的話可以加入我的msn!大家有空可以聊聊天,不見得一定要聊技術的東西^^!

在瀏覽了貴公司的教學課程後感覺課程真的很豐富,如果我週邊朋友有需要我在幫你介紹看看啦!

阿山的家 提到...

嗨! Harrison 你好:

很高興看到你的回應訊息, 不知你的MSN 帳號是什麼, 我的是mountain393@hotmail.com

麻煩將我加入你的好友

感謝

匿名 提到...

你好..我是剛入行沒多久的新手..對於BIOS的觀念都還一知半解..請教一下..BIOS的這些觀念都是從合而來呢?..要從哪些spec來起頭了解??..希望有機會可以多跟您學習..

小華的部落格 提到...

BIOS觀念我是從Intel 架構的資料上得到的,當初我是K IA32那幾卷資料跟Intel EDS...很多觀念在這些資料上都有寫,只是你要靠點想像力去了解他..

邊做邊學,邊學邊做...你會再學習的過程中發現時間過很快..一晃眼我也快滿兩年了 >.<

匿名 提到...

您好,小弟不才,也寫了一些工具程式,其中的一項 OSW Pro 雖是多重開機程式,但是有一些功能也是為了 BIOS 而開發的,像是 Dump BIOS、I/O、PCI、dump memory (4G)...,如不麻煩,希望也能放入您的 Blog 供人使用,謝謝。 ^_^

網址如下...
http://chizone.miroko.tw/

Thanks and Best Regards,
Joey