小華的部落格: 2011/6/19 - 2011/6/26

搜尋此網誌

網頁

星期一, 6月 20, 2011

SmmOEMInt15SmiDispatcher

今天在Debug USB問題的時候,設定了斷點在SmmOEMInt15SmiDispatcher中,結果發現進入DOS時這個SWSMI會被一直呼叫。

他的原因是因為CSM 在Hook INT15h的時候,並沒有先在Assembly內判斷任何的Signature,沒有利用任何的Signature來判斷要不要產生SWSMI,因此就變成了只要有人呼叫INT15h 就會產生SWSMI而跳到SmmOEMInt15SmiDispatcher內,然後再EFI 那邊再判斷要不要執行Sub function,如果沒有就退出SWSMI。

為了怕自己忘記有這個BUG所以在BLOG先記錄一下。

目前進入DOS時,有看到呼叫INT15h的人是CONFIG.SYS,而且每按一次Key,就會呼叫3次(SWSMI斷點可以攔到3次?) 這也是件奇怪的事情。

開機過程中攔截到的INT15h 時的AX值如下(依順序):
AX=5355
AX=4101
AX=0000
AX=133A
AX=0326 (此時已經出現Win98 Logo)
AX=3E00 <--我們自己的USB test Utility

進入DOS後,每按下一個Key都會產生下面這個INT15h,看起來跟Config.sys有關,不過尚未查證:  AX=5355h , INT15h  <--Config.sys

星期日, 6月 19, 2011

Win7右鍵新增記事本消失

Win7莫名其妙右鍵新增記事本消失了,所以自己找解決方式。

解決的方式就是自己寫一個XXX.Reg的檔案,內容如下,然後在給他點兩下執行後,消失的新增記事本就又回來啦~

不過微軟作業系統老是出現一些莫名其妙的事情,要怎麼在市場跟人家競爭啦>.<




Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt]
@="txtfile"
"Content Type"="text/plain"

[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""

[HKEY_CLASSES_ROOT\txtfile]
@="Notepad"

[HKEY_CLASSES_ROOT\txtfile\shell]
[HKEY_CLASSES_ROOT\txtfile\shell\open]
[HKEY_CLASSES_ROOT\txtfile\shell\open\Command]
@="NOTEPAD.EXE %1"