亚洲AV日韩AⅤ综合手机在线观看,激情婷婷久久综合色,欧美色五月婷婷久久,久久国产精品99久久人人澡

  • <abbr id="uk6uq"><abbr id="uk6uq"></abbr></abbr>
  • <tbody id="uk6uq"></tbody>
  • Windows 95的引導(dǎo)圖形界面及抖動變色圖像的形成

    時間:2023-03-03 21:12:48 計算機畢業(yè)論文 我要投稿
    • 相關(guān)推薦

    Windows 95的引導(dǎo)圖形界面及抖動變色圖像的形成

    摘要 該文剖析了Windows 95 的部分文件,給出了人們很感興趣的用戶定做啟動徽標(biāo)和關(guān)機圖像的方法,并使其顯示啟動徽標(biāo)抖動和變色。

    一、引言
    Windows 95以更新更好的界面展現(xiàn)在用戶面前,而給人印象最深的是表明其是"徹底"圖形界面的引導(dǎo)及結(jié)束時的標(biāo)志圖形。Windows 95使系統(tǒng)由圖形引導(dǎo)啟動并在圖形界面中關(guān)閉,系統(tǒng)在顯示微軟啟動徽標(biāo)的同時進行初始化,在顯示等待信息的同時完成系統(tǒng)退出并以一個圖形化的提示信息結(jié)束系統(tǒng)工作。此外,Windows 95還為舊DOS程序的運行設(shè)計了很好的圖形化界面, 從而使系統(tǒng)的整個工作過程完全可以脫離過去的命令行方式。本文介紹這些界面圖形的定制和使啟動封面圖形抖動變色的方法。

    二、Windows 95的三幅界面圖
    Windows 95用三幅圖完成其初始化和關(guān)閉傳遞信息工作,即啟動徽標(biāo)(封面)、封底1(顯示 "Please wait while your computer shuts down")、封底2(顯示 "It's now safe toturn off your computer") 。其中封底1和封底2的圖形是兩個256色的位圖文件,名字分別為LOGOW.SYS和LOGOS.SYS,存放在Windows的工作目錄下,負責(zé)這兩個圖形顯示的程序分別是USER.EXE和WIN.COM,它們在打開相應(yīng)的圖形文件后分別作文件格式檢查。
    WIN.COM的檢查段代碼為:
    debug win.com
    -u 3b68 3b83
    0AF4:3B68 813F424D CMP WORD PTR [BX],4D42
    0AF4:3B6C F9 STC
    0AF4:3B6D 75B9 JNZ 3B28
    0AF4:3B6F BBCE40 MOV BX,40CE
    0AF4:3B72 833F28 CMP WORD PTR [BX],+28
    0AF4:3B75 75F5 JNZ 3B6C
    0AF4:3B77 837F0C01 CMP WORD PTR [BX+0C],+01
    0AF4:3B7B 75EF JNZ 3B6C
    0AF4:3B7D 837F0E08 CMP WORD PTR [BX+0E],+08
    0AF4:3B81 75E9 JNZ 3B6C
    0AF4:3B83 60 DB 60
    寄存器BX中裝的是打開成功的文件LOGOS.SYS首地址的偏移值,通過對比位圖文件的首部結(jié)構(gòu),我們可以立即得到所打開的文件LOGOS.SYS是一個非壓縮、位面數(shù)是1、256色的位圖圖像文件(關(guān)于位圖文件的頭部標(biāo)志域可見附錄1 的簡述)。實際上LOGOS.SYS文件確實是一個完整的位圖文件,可以用Paintbrush編輯,它顯示封底2的信息。因此我們可產(chǎn)生相應(yīng)格式的位圖文件取代,試驗證明完全可行。
    USER.EXE對LOGOW.SYS也作類似處理,只是對位圖標(biāo)志域檢查對比的部分語句不連續(xù),其各項檢查如下:
    ren user.exe userexe
    debug userexe
    -u 5ada:abb8
    5ADA:ABB8 813F424D CMP WORD PTR [BX],4D42
    -u 5ada:abc4
    5ADA:ABC4 833F28 CMP WORD PTR [BX],+28
    -u 5ada:abcb
    5ADA:ABCB 837F0C01 CMP WORD PTR [BX+0C],+01
    -u 5ada:abd3
    5ADA:ABD3 837F0E08 CMP WORD PTR [BX+0E],+08
    其中寄存器BX中為打開的LOGOW.SYS存儲首址。由此可見,可以用相應(yīng)格式的位圖來取代LOGOW.SYS用作封底1的顯示。
    值得注意的是,顯示時自動按設(shè)定的屏幕分辨率來做全屏幕顯示,對640×480、256色的屏幕,其位圖大小最好設(shè)定為320×400像素。

    三、啟動徽標(biāo)封面的定做方法
    Windows 95的封面沒有獨立文件形式的位圖文件,這與WIN.COM對LOGOS.SYS的處理和USER.EXE對LOGOW.SYS的處理不同。筆者在剖析引導(dǎo)文件IO.SYS的過程中發(fā)現(xiàn),Windows 95的啟動封面徽標(biāo)是嵌入在引導(dǎo)文件IO.SYS中的,并經(jīng)DBLSPACE壓縮過,圖像數(shù)據(jù)區(qū)長度為64KB。在筆者剖析的Windows 95版本中,圖像數(shù)據(jù)占據(jù)IO.SYS(文件長度223748B)217~344扇區(qū),數(shù)據(jù)內(nèi)部有多處"DS"標(biāo)識,這是DBLSPACE壓縮文件的標(biāo)志,由于DBLSPACE是分段校驗壓縮文件,因此,即使此區(qū)內(nèi)有一個字節(jié)的改動也會造成圖像的大幅破壞。在上述IO.SYS中,圖像顯示執(zhí)行
    代碼部分起始于以"DBLSBIN$\LOGO.SYS"標(biāo)志的地方并占據(jù)110-112扇區(qū)。由于DBLSPACE的壓縮文件很復(fù)雜并分段校驗,使我們不能像對Windows3.1的WIN.COM 那樣通過改動組合文件或重編WIN.COM的部分代碼來定做啟動封面,但可以在MSDOS.SYS中以Logo=0來消隱顯示。關(guān)于配置文件MSDOS.SYS的設(shè)定已有文獻可查,本文附錄2簡述了其配置設(shè)定選擇。
    實際上,啟動封面也是可以定做的。筆者在分析IO.SYS的過程中發(fā)現(xiàn),IO.SYS在顯示內(nèi)部嵌入封面前先試圖打開一個在引導(dǎo)目錄下名為LOGO.SYS的文件(利用DOS功能調(diào)用INT 21H,AH=3DH子功能),若打開失敗(此文件不存在)則轉(zhuǎn)顯示內(nèi)部嵌入封面(在WIN.COM及USER.EXE中打開文件失敗時則不顯示圖形,而代之以文本顯示有關(guān)信息),若打開成功則做文件格式檢查,其要求的格式比WIN.COM對LOGOS.SYS的檢查條件苛刻。
    IO.SYS對LOGO.SYS檢查的代碼如下:
    debug io.sys
    -u de0e
    12B9:DE0E 813C424D CMP WORD PTR [SI],4D42
    12B9:DE12 0F DB 0F
    12B9:DE13 854801 TEST CX,[BX+SI+01]
    12B9:DE16 83C60E ADD SI,+0E
    -u de19
    12B9:DE19 833C28 CMP WORD PTR [SI],+28
    -u de20
    12B9:DE20 837C0C01 CMP WORD PTR [SI+0C],+01
    -u de28
    12B9:DE28 837C0E08 CMP WORD PTR [SI+0E],+08
    -u de30
    12B9:DE30 817C044001CMP WORD PTR [SI+04],0140
    -u de39
    12B9:DE39 817C089001CMP WORD PTR [SI+08],0190
    -u de42


    12B9:DE42 837C1000 CMP WORD PTR [SI+10],+00
    從以上代碼我們可以立即看出,所打開的文件是一個非壓縮、幅度320×400、位面數(shù)為
    1、256色的位圖文件。因此,可以用Paintbrush等工具形成一個256色非壓縮、320像素×400像素的位圖文件并命名為LOGO.SYS,將其放在引導(dǎo)目錄下即可。要求的LOGO.SYS格式恰好與LOGOS.SYS及LOGOW.SYS的格式一致。作為驗證,可將LOGOS.SYS或LOGOW.SYS命名為LOGO.SYS并放在引導(dǎo)目錄下,實驗證明完全可行。如果引導(dǎo)目錄下有名為LOGO.SYS的文件,但沒有通過上述所有檢查,則拒絕顯示并且也不再顯示內(nèi)部嵌入的徽標(biāo)封面。

    四、撤銷對LOGO.SYS的格式檢查并形成抖動變色的徽標(biāo)封面用上述方法顯示的外部封面圖像是靜止的,而IO.SYS中的圖像下面具有一個滾動的顏色條,如下的方法則可以使圖像顏色變化抖動。
    如果去掉引導(dǎo)目錄下的 LOGO.SYS,則IO.SYS內(nèi)嵌的圖像也可以做到整幅圖面"彩云流動",具有很強的動感。位圖的抖動變色是由IO.SYS處理的,其有關(guān)處理標(biāo)志嵌入到上面對LOGO.SYS 的判斷語句內(nèi),因此將相關(guān)的語句作一下改動即可。方法為:用PCTOOLS或其它工具(DEBUG等)找到下面有下劃線的部分,將其均改寫為16進制機器代碼90(nop不作任何操作的空指令),在首尾之間共60字節(jié),其中含有一些代碼在上文的反匯編中并未列出。
    debug io.sys
    -d de00
    12B9:DE00 00 93 BA 02 00 E8 D6 02 -0F 82 52 01 8B F2 81
    3C ..........R....

    12B9:DE10 42 4D 0F 85 48 01 83 C6 -0E 83 3C 28 0F 85 3E
    01 BM..H.....<(..>

    12B9:DE20 83 7C 0C 01 0F 85 36 01 -83 7C 0E 08 0F 85 2E
    01 .|....6..|.....

    12B9:DE30 81 7C 04 40 01 0F 85 25 -01 81 7C 08 90 01 0F
    85 .|.@...%..|....

    12B9:DE40 1C 01 83 7C 10 00 0F 85 -14 01 8B 44 24 1E 2E
    8E ...|.......D$..

    12B9:DE50 1E 3E 0F A2 D8 02 F6 D8 -04 FF A2 D9 02 84 E4
    74 .>.............

    12B9:DE60 06 A3 DA 02 A3 DC 02 1F -2E C6 06 F2 8E 00 16
    07 ...............

    12B9:DE70 83 EC 26 8B FC BD 5F 03 -E8 45 02 B9 00 80 E8
    E9 ..&..._..E.....

    對IO.SYS作上述改動后,可以顯示任何位圖,但由于顯示是根據(jù)系統(tǒng)顯示驅(qū)動程序及屏幕調(diào)整圖形大小,因此尺度上仍以原設(shè)定為好。若想做改動應(yīng)先測試,結(jié)果可能會失真,但不影響顯示及運行。經(jīng)過上述改動后,在沒有外部LOGO.SYS 的情況下,內(nèi)嵌的封面可以抖動和變色。若將LOGOS.SYS或LOGOW.SYS命名為LOGO.SYS并放在引導(dǎo)目錄下即可代替內(nèi)部封面而且具有變化的色彩。但若對這兩個位圖進行了編輯或是用Paintbrush形成的新文件一般不能變色,這是由于 Paintbrush形成的文件實際用到的色彩很少,位圖顏色表大部分是空的。要形成
    一個新的變色徽標(biāo)應(yīng)該:
    1.用Paintbrush等形成一個普通256色位圖;
    2.使形成的位圖具有完全的256顏色索引表,這可以從LOGOW.SYS或LOGOS.SYS 的顏色索引表中得到,即復(fù)制LOGOW.SYS或LOGOS.SYS文件偏移36H~436H的域到新文件相同的域。注意不要改動位圖前0~36H字節(jié)。將新文件命名為LOGO.SYS并放在引導(dǎo)目錄下即可。五、撤銷WIN.COM及USER.EXE對LOGOS.SYS 和LOGOW.SYS的格式檢
    查方法與前面類似,此處不再一一詳述。
    由于引導(dǎo)文件非常重要,在做改動時一定要在拷貝上改動,現(xiàn)在DOS7用IFSHIP.SYS可以處理長達255B的文件名,而此文件名的存儲是將目錄項屬性字節(jié)改為0FH,即系統(tǒng)(04)+隱藏(02)+只讀(01)+卷標(biāo)(08)=VFAT的文件名屬性(0FH),并利用多個目錄項區(qū)將長文件名連續(xù)存放。為了防止數(shù)據(jù)丟失,DOS7屏蔽了絕對磁盤寫INT 26H, 而PCTOOLS等工具的EDIT功能是調(diào)用INT 26H進行寫盤的的,若在硬盤上改動會造成系統(tǒng)死鎖而取消寫盤,在軟盤上則沒有這個問題,因此建議對IO.SYS的修改在系統(tǒng)軟磁盤上進行。
    對DOS7的系統(tǒng)軟盤形成很容易,在DOS7下初始化的磁盤,只將IO.SYS、MSDOS.SYS、COM-MAND.COM拷進即可引導(dǎo)Windows 95,這是由于DOS7有更精巧的 BOOT引導(dǎo)區(qū),引導(dǎo)文件IO.SYS可以不連續(xù)存放、不占起始簇、文件名項不是第一目錄項。
    六、附錄: MSDOS.SYS 的配置和位圖文件結(jié)構(gòu)
    附錄1:本文涉及到的位圖文件首部重要域
    偏移 長度(Bytes)
    標(biāo)識信息
    00H 2 424DH 即 "BM"
    0EH 4 位圖信息頭大小 28H=40字節(jié)
    12H 4 位圖寬度像素數(shù) 4001H=320個像素
    16H 4 位圖高度像素數(shù) 9001H=400個像素


    1AH 2 位圖目標(biāo)設(shè)備位面數(shù) 1
    1CH 2 位圖陣列每像素所需位數(shù),可取值為


    1:單色,4:16色,8:256色,24:16G色
    1EH 4 位圖壓縮標(biāo)志,可取值:0:未壓縮,1:行程壓縮8位位圖,2:4位壓縮位圖因此本文IO.SYS所讀的位圖LOGO.SYS是非壓縮、位面數(shù)為1、256色、寬320像素、高400像素的位圖。
    附錄2:MSDOS.SYS 中的配置選擇
    [Options]
    Logo=1/0;1:顯示徽標(biāo),0:消隱徽標(biāo)
    BootGUI=1/0;1: 啟動后直接引導(dǎo)視窗,0:啟動后顯示DOS提示符
    Network=1/0;1:網(wǎng)絡(luò)已安裝,0:未安裝
    BootWin=1/0;1: 引導(dǎo)視窗系統(tǒng),0:引導(dǎo)舊的DOS系統(tǒng)
    BootDelay=2 ;1:Starting Windows 95 標(biāo)志延遲可以改成它
    值, 0:不顯示
    BootKeys=1/0 ;1:激活啟動控制功能鍵F4/F5/F8,0:屏蔽啟動功
    能鍵
    DrvSpace=1/0 ;1/0:加載/不加載磁盤壓縮程序
    Dblspace=1/0 ;1/0:加載/不加載磁盤壓縮程序
    DoubleBuffer=1/0
    ;1:需為不兼容設(shè)備保留常規(guī)內(nèi)存,0:不保留[Paths]
    UninstallDir=D:\
    ;取消安裝驅(qū)動器,其根目錄上有2個用于恢復(fù)的文件
    WinDir=C:\Windows
    ;工作目錄
    WinBootDir=C:\Windows ;啟動目錄
    HostWinBootDrv=C:
    ;所在磁盤
    對不同的安裝設(shè)置,上面所示可能有的沒有,可以對MSDOS.SYS進行編輯。

    【W(wǎng)indows 95的引導(dǎo)圖形界面及抖動變色圖像的形成】相關(guān)文章:

    Windows05-28

    醫(yī)學(xué)圖像領(lǐng)域中數(shù)字圖像處理的應(yīng)用論文04-19

    談地理圖像投影導(dǎo)學(xué)法08-21

    如何讓學(xué)生經(jīng)歷知識的形成過程05-22

    藝術(shù)學(xué):誕生與形成論文10-17

    加強指導(dǎo),引導(dǎo)護生順利就業(yè)05-11

    事實婚姻的法律性質(zhì)及其形成背景05-02

    論如何引導(dǎo)學(xué)生進行油畫藝術(shù)創(chuàng)作05-22

    如何引導(dǎo)幼兒欣賞文學(xué)作品論文04-14

    引導(dǎo)家長掌握幼兒的教育方法學(xué)科論文05-08