在线观看国产区-在线观看国产欧美-在线观看国产免费高清不卡-在线观看国产久青草-久久国产精品久久久久久-久久国产精品久久久

美章網 資料文庫 Windows 95抖動圖像范文

Windows 95抖動圖像范文

本站小編為你精心準備了Windows 95抖動圖像參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

Windows 95抖動圖像

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

一、引言

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

二、Windows95的三幅界面圖

Windows95用三幅圖完成其初始化和關閉傳遞信息工作,即啟動徽標(封面)、封底1(顯示"Pleasewaitwhileyourcomputershutsdown")、封底2(顯示"It''''snowsafetoturnoffyourcomputer")。其中封底1和封底2的圖形是兩個256色的位圖文件,名字分別為LOGOW.SYS和LOGOS.SYS,存放在Windows的工作目錄下,負責這兩個圖形顯示的程序分別是USER.EXE和,它們在打開相應的圖形文件后分別作文件格式檢查。

的檢查段代碼為:

-u3b683b83

0AF4:3B68813F424DCMPWORDPTR[BX],4D42

0AF4:3B6CF9STC

0AF4:3B6D75B9JNZ3B28

0AF4:3B6FBBCE40MOVBX,40CE

0AF4:3B72833F28CMPWORDPTR[BX],+28

0AF4:3B7575F5JNZ3B6C

0AF4:3B77837F0C01CMPWORDPTR[BX+0C],+01

0AF4:3B7B75EFJNZ3B6C

0AF4:3B7D837F0E08CMPWORDPTR[BX+0E],+08

0AF4:3B8175E9JNZ3B6C

0AF4:3B8360DB60

寄存器BX中裝的是打開成功的文件LOGOS.SYS首地址的偏移值,通過對比位圖文件的首部結構,我們可以立即得到所打開的文件LOGOS.SYS是一個非壓縮、位面數是1、256色的位圖圖像文件(關于位圖文件的頭部標志域可見附錄1的簡述)。實際上LOGOS.SYS文件確實是一個完整的位圖文件,可以用Paintbrush編輯,它顯示封底2的信息。因此我們可產生相應格式的位圖文件取代,試驗證明完全可行。

USER.EXE對LOGOW.SYS也作類似處理,只是對位圖標志域檢查對比的部分語句不連續,其各項檢查如下:

renuser.exeuserexe

debuguserexe

-u5ada:abb8

5ADA:ABB8813F424DCMPWORDPTR[BX],4D42

-u5ada:abc4

5ADA:ABC4833F28CMPWORDPTR[BX],+28

-u5ada:abcb

5ADA:ABCB837F0C01CMPWORDPTR[BX+0C],+01

-u5ada:abd3

5ADA:ABD3837F0E08CMPWORDPTR[BX+0E],+08

其中寄存器BX中為打開的LOGOW.SYS存儲首址。由此可見,可以用相應格式的位圖來取代LOGOW.SYS用作封底1的顯示。

值得注意的是,顯示時自動按設定的屏幕分辨率來做全屏幕顯示,對640×480、256色的屏幕,其位圖大小最好設定為320×400像素。

三、啟動徽標封面的定做方法

Windows95的封面沒有獨立文件形式的位圖文件,這與對LOGOS.SYS的處理和USER.EXE對LOGOW.SYS的處理不同。筆者在剖析引導文件IO.SYS的過程中發現,Windows95的啟動封面徽標是嵌入在引導文件IO.SYS中的,并經DBLSPACE壓縮過,圖像數據區長度為64KB。在筆者剖析的Windows95版本中,圖像數據占據IO.SYS(文件長度223748B)217~344扇區,數據內部有多處"DS"標識,這是DBLSPACE壓縮文件的標志,由于DBLSPACE是分段校驗壓縮文件,因此,即使此區內有一個字節的改動也會造成圖像的大幅破壞。在上述IO.SYS中,圖像顯示執行

代碼部分起始于以"DBLSBIN$\LOGO.SYS"標志的地方并占據110-112扇區。由于DBLSPACE的壓縮文件很復雜并分段校驗,使我們不能像對Windows3.1的那樣通過改動組合文件或重編的部分代碼來定做啟動封面,但可以在MSDOS.SYS中以Logo=0來消隱顯示。關于配置文件MSDOS.SYS的設定已有文獻可查,本文附錄2簡述了其配置設定選擇。

實際上,啟動封面也是可以定做的。筆者在分析IO.SYS的過程中發現,IO.SYS在顯示內部嵌入封面前先試圖打開一個在引導目錄下名為LOGO.SYS的文件(利用DOS功能調用INT21H,AH=3DH子功能),若打開失敗(此文件不存在)則轉顯示內部嵌入封面(在及USER.EXE中打開文件失敗時則不顯示圖形,而代之以文本顯示有關信息),若打開成功則做文件格式檢查,其要求的格式比對LOGOS.SYS的檢查條件苛刻。

IO.SYS對LOGO.SYS檢查的代碼如下:

debugio.sys

-ude0e

12B9:DE0E813C424DCMPWORDPTR[SI],4D42

12B9:DE120FDB0F

12B9:DE13854801TESTCX,[BX+SI+01]

12B9:DE1683C60EADDSI,+0E

-ude19

12B9:DE19833C28CMPWORDPTR[SI],+28

-ude20

12B9:DE20837C0C01CMPWORDPTR[SI+0C],+01

-ude28

12B9:DE28837C0E08CMPWORDPTR[SI+0E],+08

-ude30

12B9:DE30817C044001CMPWORDPTR[SI+04],0140

-ude39

12B9:DE39817C089001CMPWORDPTR[SI+08],0190

-ude42

12B9:DE42837C1000CMPWORDPTR[SI+10],+00

從以上代碼我們可以立即看出,所打開的文件是一個非壓縮、幅度320×400、位面數為

1、256色的位圖文件。因此,可以用Paintbrush等工具形成一個256色非壓縮、320像素×400像素的位圖文件并命名為LOGO.SYS,將其放在引導目錄下即可。要求的LOGO.SYS格式恰好與LOGOS.SYS及LOGOW.SYS的格式一致。作為驗證,可將LOGOS.SYS或LOGOW.SYS命名為LOGO.SYS并放在引導目錄下,實驗證明完全可行。如果引導目錄下有名為LOGO.SYS的文件,但沒有通過上述所有檢查,則拒絕顯示并且也不再顯示內部嵌入的徽標封面。

四、撤銷對LOGO.SYS的格式檢查并形成抖動變色的徽標封面用上述方法顯示的外部封面圖像是靜止的,而IO.SYS中的圖像下面具有一個滾動的顏色條,如下的方法則可以使圖像顏色變化抖動。

如果去掉引導目錄下的LOGO.SYS,則IO.SYS內嵌的圖像也可以做到整幅圖面"彩云流動",具有很強的動感。位圖的抖動變色是由IO.SYS處理的,其有關處理標志嵌入到上面對LOGO.SYS的判斷語句內,因此將相關的語句作一下改動即可。方法為:用PCTOOLS或其它工具(DEBUG等)找到下面有下劃線的部分,將其均改寫為16進制機器代碼90(nop不作任何操作的空指令),在首尾之間共60字節,其中含有一些代碼在上文的反匯編中并未列出。

debugio.sys

-dde00

12B9:DE000093BA0200E8D602-0F8252018BF281

3C..........R....

12B9:DE10424D0F85480183C6-0E833C280F853E

01BM..H.....<(..>

12B9:DE20837C0C010F853601-837C0E080F852E

01.|....6..|.....

12B9:DE30817C0440010F8525-01817C0890010F

85.|.@...%..|....

12B9:DE401C01837C10000F85-14018B44241E2E

8E...|.......D$..

12B9:DE501E3E0FA2D802F6D8-04FFA2D90284E4

74.>.............

12B9:DE6006A3DA02A3DC021F-2EC606F28E0016

07...............

12B9:DE7083EC268BFCBD5F03-E84502B90080E8

E9..&..._..E.....

對IO.SYS作上述改動后,可以顯示任何位圖,但由于顯示是根據系統顯示驅動程序及屏幕調整圖形大小,因此尺度上仍以原設定為好。若想做改動應先測試,結果可能會失真,但不影響顯示及運行。經過上述改動后,在沒有外部LOGO.SYS的情況下,內嵌的封面可以抖動和變色。若將LOGOS.SYS或LOGOW.SYS命名為LOGO.SYS并放在引導目錄下即可代替內部封面而且具有變化的色彩。但若對這兩個位圖進行了編輯或是用Paintbrush形成的新文件一般不能變色,這是由于Paintbrush形成的文件實際用到的色彩很少,位圖顏色表大部分是空的。要形成

一個新的變色徽標應該:

1.用Paintbrush等形成一個普通256色位圖;

2.使形成的位圖具有完全的256顏色索引表,這可以從LOGOW.SYS或LOGOS.SYS的顏色索引表中得到,即復制LOGOW.SYS或LOGOS.SYS文件偏移36H~436H的域到新文件相同的域。注意不要改動位圖前0~36H字節。將新文件命名為LOGO.SYS并放在引導目錄下即可。

五、撤銷及USER.EXE對LOGOS.SYS和LOGOW.SYS的格式檢

查方法與前面類似,此處不再一一詳述。

由于引導文件非常重要,在做改動時一定要在拷貝上改動,現在DOS7用IFSHIP.SYS可以處理長達255B的文件名,而此文件名的存儲是將目錄項屬性字節改為0FH,即系統(04)+隱藏(02)+只讀(01)+卷標(08)=VFAT的文件名屬性(0FH),并利用多個目錄項區將長文件名連續存放。為了防止數據丟失,DOS7屏蔽了絕對磁盤寫INT26H,而PCTOOLS等工具的EDIT功能是調用INT26H進行寫盤的的,若在硬盤上改動會造成系統死鎖而取消寫盤,在軟盤上則沒有這個問題,因此建議對IO.SYS的修改在系統軟磁盤上進行。

對DOS7的系統軟盤形成很容易,在DOS7下初始化的磁盤,只將IO.SYS、MSDOS.SYS、COM-拷進即可引導Windows95,這是由于DOS7有更精巧的BOOT引導區,引導文件IO.SYS可以不連續存放、不占起始簇、文件名項不是第一目錄項。

六、附錄:MSDOS.SYS的配置和位圖文件結構

附錄1:本文涉及到的位圖文件首部重要域

偏移長度(Bytes)

標識信息

00H2424DH即"BM"

0EH4位圖信息頭大小28H=40字節

12H4位圖寬度像素數4001H=320個像素

16H4位圖高度像素數9001H=400個像素

1AH2位圖目標設備位面數1

1CH2位圖陣列每像素所需位數,可取值為

1:單色,4:16色,8:256色,24:16G色

1EH4位圖壓縮標志,可取值:0:未壓縮,1:行程壓縮8位位圖,2:4位壓縮位圖因此本文IO.SYS所讀的位圖LOGO.SYS是非壓縮、位面數為1、256色、寬320像素、高400像素的位圖。

附錄2:MSDOS.SYS中的配置選擇

[Options]

Logo=1/0;1:顯示徽標,0:消隱徽標

BootGUI=1/0;1:啟動后直接引導視窗,0:啟動后顯示DOS提示符

Network=1/0;1:網絡已安裝,0:未安裝

BootWin=1/0;1:引導視窗系統,0:引導舊的DOS系統

BootDelay=2;1:StartingWindows95標志延遲可以改成它

值,0:不顯示

BootKeys=1/0;1:激活啟動控制功能鍵F4/F5/F8,0:屏蔽啟動功

能鍵

DrvSpace=1/0;1/0:加載/不加載磁盤壓縮程序

Dblspace=1/0;1/0:加載/不加載磁盤壓縮程序

DoubleBuffer=1/0

;1:需為不兼容設備保留常規內存,0:不保留[Paths]

UninstallDir=D:\

;取消安裝驅動器,其根目錄上有2個用于恢復的文件

WinDir=C:\Windows

;工作目錄

WinBootDir=C:\Windows;啟動目錄

HostWinBootDrv=C:

;所在磁盤

對不同的安裝設置,上面所示可能有的沒有,可以對MSDOS.SYS進行編輯。

主站蜘蛛池模板: 在线99视频 | 久久久久久久综合日本亚洲 | 色五夜 | 国产资源在线观看 | 在线欧美a | 激情阁| 午夜在线视频免费 | 亚洲精品国产第1页 | 一级爱爱片 | 国内精品久久久久 | 亚洲偷自精品三十六区 | 国产精品久久久一区二区三区 | 国产精品久久久一区二区三区 | 亚洲清色 | a级国产视频 | 久热这里只精品热在线观看 | 亚洲精品电影天堂网 | 尤物精品国产第一福利三区 | 国产成人久久精品二区三区 | 亚洲第一视频在线播放 | 久久九九爱 | 欧美αv日韩αv亚洲αv在线观看 | 亚洲四虎永久在线播放 | 99视频都是精品热在线播放 | 美女被羞羞产奶视频网站 | 亚洲国产成人久久99精品 | 精品国产一区二区三区成人 | 9久热这里只有精品视频在线观看 | 中文字幕一区二区三区四区五区人 | 亚洲精品乱码久久久久久 | 亚洲国产精品一区二区三区 | 九月丁香婷婷亚洲综合色 | 找国产毛片看 | 国产成人精品一区二区不卡 | 男人天堂网在线 | 中文字幕久精品免费视频蜜桃视频 | 性做久久久久久坡多野结衣 | 亚洲精品第1页 | 羞羞的视频在线 | 欧美日韩亚洲国产一区二区三区 | 欧美午夜视频一区二区三区 |