ielts5316
驱动小牛
驱动小牛
  • 注册日期2005-05-18
  • 最后登录2018-08-27
  • 粉丝0
  • 关注0
  • 积分478分
  • 威望940点
  • 贡献值0点
  • 好评度72点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:2964回复:5

更改開機畫面(一個類似Softice的開機畫面)

楼主#
更多 发布于:2010-04-29 20:56
Softice很有名的除錯程式,可惜Compuware自從Windows XP1以後就不再維護了,回想安裝Softice,開機時在螢幕的下方會出現按”ESC…”等的字樣,可以在進入OS前修改或DEBUG某一個驅動程式,現在我想到了一個方法可以類似Softice一樣在開機時顯示一些我們自訂的訊息,執行結果如下圖.

图片:bootstring.png


設計的觀念很簡單,主要是利用VGA BIOS的記憶體位址(B800h)將字串直接寫入此區域,類似在DOS下做DMA的動作.首先取得B800h映射的位址,然後對此位址寫資料.
NTSTATUS 
InitializeVideoBuffer(VOID) 
{ 
    PHYSICAL_ADDRESS addr; 
// 
    if (_gOutputString == NULL) 
    { 
        addr.QuadPart = 0xB8000; 
        _gOutputString = MmMapIoSpace(addr, 1, MmNonCached); 
    }; 
    return STATUS_SUCCESS; 
};

當字串完全輸出後會暫停驅動的執行數秒,可以做適當修改使它可以接受使用者名稱與密碼(IN/OUT 60/64 port讀取Keybd的資訊),作為保護系統的動作.在此驅動中有一個函數可以讀取註冊表的設定值,此設定值可以更改字串顯示時的前後背景的顏色.如要使用此設定值,請將下列的註解移除.
//    if (QueryImageName(RegistryPath, &fgColor, &bkColor) != 
//                 STATUS_SUCCESS) 
//        return STATUS_UNSUCCESSFUL;
 
目前在Windows XP中測試成功,Windows 7還在修改測試中, 在安裝完成後請記得修改BOOT.INI檔案,在敘述的最後加上 “/NOGUIBOOT”然後存檔重新開機既可.
原始程式與註冊表的設定值請參考附件.
源碼可至 http://bbs.codeheaven.com.tw 下載

附件名称/大小 下载次数 最后更新
VidBoot.zip (10KB)  8 2010-04-29 20:56
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-04-30 19:38
不错,使用"/NOGUIBOOT"选项是个很不错的想法
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
Pegram
论坛版主
论坛版主
  • 注册日期2005-12-03
  • 最后登录2013-08-23
  • 粉丝13
  • 关注5
  • 积分1333分
  • 威望4717点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分2分
板凳#
发布于:2010-05-02 21:11
楼主,厉害。你最近发表的一系列帖子,我都有看,非常好!!
《寒江独钓》与《竹林蹊径》的合作作者。精通USB开发,设计了CY001 USB驱动套件(http://bbs.driverdevelop.com/read.php?tid-119314.html)。
Pegram
论坛版主
论坛版主
  • 注册日期2005-12-03
  • 最后登录2013-08-23
  • 粉丝13
  • 关注5
  • 积分1333分
  • 威望4717点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分2分
地板#
发布于:2010-05-02 21:25
好得很!再次赞叹。
《寒江独钓》与《竹林蹊径》的合作作者。精通USB开发,设计了CY001 USB驱动套件(http://bbs.driverdevelop.com/read.php?tid-119314.html)。
ielts5316
驱动小牛
驱动小牛
  • 注册日期2005-05-18
  • 最后登录2018-08-27
  • 粉丝0
  • 关注0
  • 积分478分
  • 威望940点
  • 贡献值0点
  • 好评度72点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2010-05-03 23:31
回 3楼(张书爱玉) 的帖子
谢谢,欢迎有时间到我的网站发帖,交流. http://bbs.codeheaven.com.tw
kaiserempire
驱动牛犊
驱动牛犊
  • 注册日期2007-12-07
  • 最后登录2010-07-12
  • 粉丝0
  • 关注0
  • 积分292分
  • 威望113点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-05-05 10:27
mark, 留个记号
On the Road~
游客

返回顶部