Windows 95的引導圖形界面及抖動變色圖像的形成_第1頁
Windows 95的引導圖形界面及抖動變色圖像的形成_第2頁
Windows 95的引導圖形界面及抖動變色圖像的形成_第3頁
Windows 95的引導圖形界面及抖動變色圖像的形成_第4頁
Windows 95的引導圖形界面及抖動變色圖像的形成_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、Windows 95的引導圖形界面及抖動變色圖像的形成摘要該文剖析了inds95的局部文件,給出了人們很感興趣的用戶定做啟動徽標和關(guān)機圖像的方法,并使其顯示啟動徽標抖動和變色。一、引言inds95以更新更好的界面展如今用戶面前,而給人印象最深的是說明其是徹底圖形界面的引導及完畢時的標志圖形。inds95使系統(tǒng)由圖形引導啟動并在圖形界面中關(guān)閉,系統(tǒng)在顯示微軟啟動徽標的同時進展初始化,在顯示等待信息的同時完成系統(tǒng)退出并以一個圖形化的提示信息完畢系統(tǒng)工作。此外,inds95還為舊ds程序的運行設計了很好的圖形化界面,從而使系統(tǒng)的整個工作過程完全可以脫離過去的命令行方式。本文介紹這些界面圖形的定制和使

2、啟動封面圖形抖動變色的方法。二、inds95的三幅界面圖inds95用三幅圖完成其初始化和關(guān)閉傳遞信息工作,即啟動徽標(封面)、封底1(顯示pleaseaithileyurputershutsdn)、封底2(顯示itsnsafetturnffyurputer)。其中封底1和封底2的圖形是兩個256色的位圖文件,名字分別為lg.sys和lgs.sys,存放在inds的工作目錄下,負責這兩個圖形顯示的程序分別是user.exe和in.,它們在翻開相應的圖形文件后分別作文件格式檢查。in.的檢查段代碼為:debugin.-u3b683b830af4:3b68813f424dprdptrbx,4d42

3、0af4:3b6f9st0af4:3b6d75b9jnz3b280af4:3b6fbbe40vbx,40e0af4:3b72833f28prdptrbx,+280af4:3b7575f5jnz3b60af4:3b77837f001prdptrbx+0,+010af4:3b7b75efjnz3b60af4:3b7d837f0e08prdptrbx+0e,+080af4:3b8175e9jnz3b60af4:3b8360db60存放器bx中裝的是翻開成功的文件lgs.sys首地址的偏移值,通過比照位圖文件的首部構(gòu)造,我們可以立即得到所翻開的文件lgs.sys是一個非壓縮、位面數(shù)是1、256色的位圖

4、圖像文件(關(guān)于位圖文件的頭部標志域可見附錄1的簡述)。實際上lgs.sys文件確實是一個完好的位圖文件,可以用paintbrush編輯,它顯示封底2的信息。因此我們可產(chǎn)生相應格式的位圖文件取代,試驗證明完全可行。user.exe對lg.sys也作類似處理,只是對位圖標志域檢查比照的局部語句不連續(xù),其各項檢查如下:renuser.exeuserexedebuguserexe-u5ada:abb85ada:abb8813f424dprdptrbx,4d42-u5ada:ab45ada:ab4833f28prdptrbx,+28-u5ada:abb5ada:abb837f001prdptrbx+0,

5、+01-u5ada:abd35ada:abd3837f0e08prdptrbx+0e,+08其中存放器bx中為翻開的lg.sys存儲首址。由此可見,可以用相應格式的位圖來取代lg.sys用作封底1的顯示。值得注意的是,顯示時自動按設定的屏幕分辨率來做全屏幕顯示,對640480、256色的屏幕,其位圖大小最好設定為320400像素。三、啟動徽標封面的定做方法inds95的封面沒有獨立文件形式的位圖文件,這與in.對lgs.sys的處理和user.exe對lg.sys的處理不同。筆者在剖析引導文件i.sys的過程中發(fā)現(xiàn),inds95的啟動封面徽標是嵌入在引導文件i.sys中的,并經(jīng)dblspae壓

6、縮過,圖像數(shù)據(jù)區(qū)長度為64kb。在筆者剖析的inds95版本中,圖像數(shù)據(jù)占據(jù)i.sys(文件長度223748b)217344扇區(qū),數(shù)據(jù)內(nèi)部有多處ds標識,這是dblspae壓縮文件的標志,由于dblspae是分段校驗壓縮文件,因此,即使此區(qū)內(nèi)有一個字節(jié)的改動也會造成圖像的大幅破壞。在上述i.sys中,圖像顯示執(zhí)行代碼局部起始于以dblsbin$lg.sys標志的地方并占據(jù)110-112扇區(qū)。由于dblspae的壓縮文件很復雜并分段校驗,使我們不能像對inds3.1的in.那樣通過改動組合文件或重編in.的局部代碼來定做啟動封面,但可以在sds.sys中以lg=0來消隱顯示。關(guān)于配置文件sds.

7、sys的設定已有文獻可查,本文附錄2簡述了其配置設定選擇。實際上,啟動封面也是可以定做的。筆者在分析i.sys的過程中發(fā)現(xiàn),i.sys在顯示內(nèi)部嵌入封面前先試圖翻開一個在引導目錄下名為lg.sys的文件(利用ds功能調(diào)用int21h,ah=3dh子功能),假設翻開失敗(此文件不存在)那么轉(zhuǎn)顯示內(nèi)部嵌入封面(在in.及user.exe中翻開文件失敗時那么不顯示圖形,而代之以文本顯示有關(guān)信息),假設翻開成功那么做文件格式檢查,其要求的格式比in.對lgs.sys的檢查條件苛刻。i.sys對lg.sys檢查的代碼如下:debugi.sys-ude0e12b9:de0e813424dprdptrsi,

8、4d4212b9:de120fdb0f12b9:de13854801testx,bx+si+0112b9:de168360eaddsi,+0e-ude1912b9:de1983328prdptrsi,+28-ude2012b9:de20837001prdptrsi+0,+01-ude2812b9:de288370e08prdptrsi+0e,+08-ude3012b9:de30817044001prdptrsi+04,0140-ude3912b9:de39817089001prdptrsi+08,0190-ude4212b9:de428371000prdptrsi+10,+00從以上代碼我們可

9、以立即看出,所翻開的文件是一個非壓縮、幅度320400、位面數(shù)為1、256色的位圖文件。因此,可以用paintbrush等工具形成一個256色非壓縮、320像素400像素的位圖文件并命名為lg.sys,將其放在引導目錄下即可。要求的lg.sys格式恰好與lgs.sys及l(fā)g.sys的格式一致。作為驗證,可將lgs.sys或lg.sys命名為lg.sys并放在引導目錄下,實驗證明完全可行。假如引導目錄下有名為lg.sys的文件,但沒有通過上述所有檢查,那么回絕顯示并且也不再顯示內(nèi)部嵌入的徽標封面。四、撤銷對lg.sys的格式檢查并形成抖動變色的徽標封面用上述方法顯示的外部封面圖像是靜止的,而i.

10、sys中的圖像下面具有一個滾動的顏色條,如下的方法那么可以使圖像顏色變化抖動。假如去掉引導目錄下的lg.sys,那么i.sys內(nèi)嵌的圖像也可以做到整幅圖面彩云流動,具有很強的動感。位圖的抖動變色是由i.sys處理的,其有關(guān)處理標志嵌入到上面對lg.sys的判斷語句內(nèi),因此將相關(guān)的語句作一下改動即可。方法為:用ptls或其它工具(debug等)找到下面有下劃線的局部,將其均改寫為16進制機器代碼90(np不作任何操作的空指令),在首尾之間共60字節(jié),其中含有一些代碼在上文的反匯編中并未列出。debugi.sys-dde0012b9:de000093ba0200e8d602-0f8252022bf

11、2813.r.12b9:de10424d0f854801836-0e833280f853e01b.h.(.12b9:de208370010f853601-8370e080f852e01.|.6.|.12b9:de308170440010f8525-018170890010f85.|.%.|.12b9:de4010183710000f85-14018b44241e2e8e.|.d$.12b9:de501e3e0fa2d802f6d8-04ffa2d90284e474.12b9:de6006a3da02a3d021f-2e606f28e001607.12b9:de7083e268bfbd5f03-

12、e84502b90080e8e9._.e.對i.sys作上述改動后,可以顯示任何位圖,但由于顯示是根據(jù)系統(tǒng)顯示驅(qū)動程序及屏幕調(diào)整圖形大小,因此尺度上仍以原設定為好。假設想做改動應先測試,結(jié)果可能會失真,但不影響顯示及運行。經(jīng)過上述改動后,在沒有外部lg.sys的情況下,內(nèi)嵌的封面可以抖動和變色。假設將lgs.sys或lg.sys命名為lg.sys并放在引導目錄下即可代替內(nèi)部封面而且具有變化的色彩。但假設對這兩個位圖進展了編輯或是用paintbrush形成的新文件一般不能變色,這是由于paintbrush形成的文件實際用到的色彩很少,位圖顏色表大局部是空的。要形成一個新的變色徽標應該:1.用pa

13、intbrush等形成一個普通256色位圖;2.使形成的位圖具有完全的256顏色索引表,這可以從lg.sys或lgs.sys的顏色索引表中得到,即復制lg.sys或lgs.sys文件偏移36h436h的域到新文件一樣的域。注意不要改動位圖前036h字節(jié)。將新文件命名為lg.sys并放在引導目錄下即可。五、撤銷in.及user.exe對lgs.sys和lg.sys的格式檢查方法與前面類似,此處不再一一詳述。由于引導文件非常重要,在做改動時一定要在拷貝上改動,如今ds7用ifship.sys可以處理長達255b的文件名,而此文件名的存儲是將目錄項屬性字節(jié)改為0fh,即系統(tǒng)(04)+隱藏(02)+只

14、讀(01)+卷標(08)=vfat的文件名屬性(0fh),并利用多個目錄項區(qū)將長文件名連續(xù)存放。為了防止數(shù)據(jù)喪失,ds7屏蔽了絕對磁盤寫int26h,而ptls等工具的edit功能是調(diào)用int26h進展寫盤的的,假設在硬盤上改動會造成系統(tǒng)死鎖而取消寫盤,在軟盤上那么沒有這個問題,因此建議對i.sys的修改在系統(tǒng)軟磁盤上進展。對ds7的系統(tǒng)軟盤形成很容易,在ds7下初始化的磁盤,只將i.sys、sds.sys、-and.拷進即可引導inds95,這是由于ds7有更精巧的bt引導區(qū),引導文件i.sys可以不連續(xù)存放、不占起始簇、文件名項不是第一目錄項。六、附錄:sds.sys的配置和位圖文件構(gòu)造附

15、錄1:本文涉及到的位圖文件首部重要域偏移長度(bytes)標識信息00h2424dh即b0eh4位圖信息頭大小28h=40字節(jié)12h4位圖寬度像素數(shù)4001h=320個像素16h4位圖高度像素數(shù)9001h=400個像素1ah2位圖目的設備位面數(shù)11h2位圖陣列每像素所需位數(shù),可取值為1:單色,4:16色,8:256色,24:16g色1eh4位圖壓縮標志,可取值:0:未壓縮,1:行程壓縮8位位圖,2:4位壓縮位圖因此本文i.sys所讀的位圖lg.sys是非壓縮、位面數(shù)為1、256色、寬320像素、高400像素的位圖。附錄2:sds.sys中的配置選擇ptinslg=1/0;1:顯示徽標,0:消隱徽標btgui=1/0;1:啟動后直接引導視窗,0:啟動后顯示ds提示符netrk=1/0;1:網(wǎng)絡已安裝,0:未安裝btin=1/0;1:引導視窗系統(tǒng),0:引導舊的ds系統(tǒng)btdelay=2;1:startinginds95標志延遲可以改成它值,0:不顯示btkeys=1/0;1:激活啟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論