Windows 95的引导图形界面及抖动变色图像的形成_第1页
Windows 95的引导图形界面及抖动变色图像的形成_第2页
Windows 95的引导图形界面及抖动变色图像的形成_第3页
Windows 95的引导图形界面及抖动变色图像的形成_第4页
Windows 95的引导图形界面及抖动变色图像的形成_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Windows 95的引导图形界面及抖动变色图像的形成摘要该文剖析了inds95的局部文件,给出了人们很感兴趣的用户定做启动徽标和关机图像的方法,并使其显示启动徽标抖动和变色。一、引言inds95以更新更好的界面展如今用户面前,而给人印象最深的是说明其是彻底图形界面的引导及完毕时的标志图形。inds95使系统由图形引导启动并在图形界面中关闭,系统在显示微软启动徽标的同时进展初始化,在显示等待信息的同时完成系统退出并以一个图形化的提示信息完毕系统工作。此外,inds95还为旧ds程序的运行设计了很好的图形化界面,从而使系统的整个工作过程完全可以脱离过去的命令行方式。本文介绍这些界面图形的定制和使

2、启动封面图形抖动变色的方法。二、inds95的三幅界面图inds95用三幅图完成其初始化和关闭传递信息工作,即启动徽标(封面)、封底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首地址的偏移值,通过比照位图文件的首部构造,我们可以立即得到所翻开的文件lgs.sys是一个非压缩、位面数是1、256色的位图

4、图像文件(关于位图文件的头部标志域可见附录1的简述)。实际上lgs.sys文件确实是一个完好的位图文件,可以用paintbrush编辑,它显示封底2的信息。因此我们可产生相应格式的位图文件取代,试验证明完全可行。user.exe对lg.sys也作类似处理,只是对位图标志域检查比照的局部语句不连续,其各项检查如下: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的过程中发现,inds95的启动封面徽标是嵌入在引导文件i.sys中的,并经dblspae压

6、缩过,图像数据区长度为64kb。在笔者剖析的inds95版本中,图像数据占据i.sys(文件长度223748b)217344扇区,数据内部有多处ds标识,这是dblspae压缩文件的标志,由于dblspae是分段校验压缩文件,因此,即使此区内有一个字节的改动也会造成图像的大幅破坏。在上述i.sys中,图像显示执行代码局部起始于以dblsbin$lg.sys标志的地方并占据110-112扇区。由于dblspae的压缩文件很复杂并分段校验,使我们不能像对inds3.1的in.那样通过改动组合文件或重编in.的局部代码来定做启动封面,但可以在sds.sys中以lg=0来消隐显示。关于配置文件sds.

7、sys的设定已有文献可查,本文附录2简述了其配置设定选择。实际上,启动封面也是可以定做的。笔者在分析i.sys的过程中发现,i.sys在显示内部嵌入封面前先试图翻开一个在引导目录下名为lg.sys的文件(利用ds功能调用int21h,ah=3dh子功能),假设翻开失败(此文件不存在)那么转显示内部嵌入封面(在in.及user.exe中翻开文件失败时那么不显示图形,而代之以文本显示有关信息),假设翻开成功那么做文件格式检查,其要求的格式比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、位面数为1、256色的位图文件。因此,可以用paintbrush等工具形成一个256色非压缩、320像素400像素的位图文件并命名为lg.sys,将其放在引导目录下即可。要求的lg.sys格式恰好与lgs.sys及lg.sys的格式一致。作为验证,可将lgs.sys或lg.sys命名为lg.sys并放在引导目录下,实验证明完全可行。假如引导目录下有名为lg.sys的文件,但没有通过上述所有检查,那么回绝显示并且也不再显示内部嵌入的徽标封面。四、撤销对lg.sys的格式检查并形成抖动变色的徽标封面用上述方法显示的外部封面图像是静止的,而i.

10、sys中的图像下面具有一个滚动的颜色条,如下的方法那么可以使图像颜色变化抖动。假如去掉引导目录下的lg.sys,那么i.sys内嵌的图像也可以做到整幅图面彩云流动,具有很强的动感。位图的抖动变色是由i.sys处理的,其有关处理标志嵌入到上面对lg.sys的判断语句内,因此将相关的语句作一下改动即可。方法为:用ptls或其它工具(debug等)找到下面有下划线的局部,将其均改写为16进制机器代码90(np不作任何操作的空指令),在首尾之间共60字节,其中含有一些代码在上文的反汇编中并未列出。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作上述改动后,可以显示任何位图,但由于显示是根据系统显示驱动程序及屏幕调整图形大小,因此尺度上仍以原设定为好。假设想做改动应先测试,结果可能会失真,但不影响显示及运行。经过上述改动后,在没有外部lg.sys的情况下,内嵌的封面可以抖动和变色。假设将lgs.sys或lg.sys命名为lg.sys并放在引导目录下即可代替内部封面而且具有变化的色彩。但假设对这两个位图进展了编辑或是用paintbrush形成的新文件一般不能变色,这是由于paintbrush形成的文件实际用到的色彩很少,位图颜色表大局部是空的。要形成一个新的变色徽标应该:1.用pa

13、intbrush等形成一个普通256色位图;2.使形成的位图具有完全的256颜色索引表,这可以从lg.sys或lgs.sys的颜色索引表中得到,即复制lg.sys或lgs.sys文件偏移36h436h的域到新文件一样的域。注意不要改动位图前036h字节。将新文件命名为lg.sys并放在引导目录下即可。五、撤销in.及user.exe对lgs.sys和lg.sys的格式检查方法与前面类似,此处不再一一详述。由于引导文件非常重要,在做改动时一定要在拷贝上改动,如今ds7用ifship.sys可以处理长达255b的文件名,而此文件名的存储是将目录项属性字节改为0fh,即系统(04)+隐藏(02)+只

14、读(01)+卷标(08)=vfat的文件名属性(0fh),并利用多个目录项区将长文件名连续存放。为了防止数据丧失,ds7屏蔽了绝对磁盘写int26h,而ptls等工具的edit功能是调用int26h进展写盘的的,假设在硬盘上改动会造成系统死锁而取消写盘,在软盘上那么没有这个问题,因此建议对i.sys的修改在系统软磁盘上进展。对ds7的系统软盘形成很容易,在ds7下初始化的磁盘,只将i.sys、sds.sys、-and.拷进即可引导inds95,这是由于ds7有更精巧的bt引导区,引导文件i.sys可以不连续存放、不占起始簇、文件名项不是第一目录项。六、附录:sds.sys的配置和位图文件构造附

15、录1:本文涉及到的位图文件首部重要域偏移长度(bytes)标识信息00h2424dh即b0eh4位图信息头大小28h=40字节12h4位图宽度像素数4001h=320个像素16h4位图高度像素数9001h=400个像素1ah2位图目的设备位面数11h2位图阵列每像素所需位数,可取值为1:单色,4:16色,8:256色,24:16g色1eh4位图压缩标志,可取值:0:未压缩,1:行程压缩8位位图,2:4位压缩位图因此本文i.sys所读的位图lg.sys是非压缩、位面数为1、256色、宽320像素、高400像素的位图。附录2:sds.sys中的配置选择ptinslg=1/0;1:显示徽标,0:消隐徽标btgui=1/0;1:启动后直接引导视窗,0:启动后显示ds提示符netrk=1/0;1:网络已安装,0:未安装btin=1/0;1:引导视窗系统,0:引导旧的ds系统btdelay=2;1:startinginds95标志延迟可以改成它值,0:不显示btkeys=1/0;1:激活启

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论