NTFS分区的引导源码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NTFS分区的引导源码

NTFS分区的引导源码 ? windows 2000 ? 操作系统 ? 安全     NTFS文件系统有着非常优秀的特性,其安全性、可靠性都远胜于我们常用的FAT文件系统,但是微软公司出于商业目的没有公布它的规范,使得这种优秀的文件系统只能在Windows NT架构的操作系统中使用。        不过先辈们唱得好:“没有枪没有炮,敌人给我们造!”。不管微软再怎么保密,它自己总要使用NTFS文件系统。那我们就通过分析它的代码来研究NTFS文件系统的规范呐。下面就列出小弟在仔细分析之后制做的Windows 2000 build 2195版格式化的NTFS分区的引导记录的源代码,以此与各位同好共勉。        本代码在MASM 6.11下编译通过。其中与分区结构相关的数据仅适用于在下自己分的分区,各位引用时请自行代入正确的值。         .486   Title NTFS $Boot of Windows 2000 build 2195      Code SEGMENT BYTE PUBLIC USE16 CODE   ASSUME CS:Code,DS:Code   NTFS PROC FAR   START: JMP SHORT Loader   DB 90H      PartitionID DB NTFS   BytePerSector DW 512   SectorPerCluster DB 1   SectorNumWanted DW 0   SectorWanted DD 0   SupportExtendInt13Flag DB 0   StorageMedia DB 0F8H   DB 0,0   SectorPerTrack DW 3FH   Heads DW 0FFH   HiddenSector DD 3FH   CHSMaxSectorNum DD 0   CurrentDisk DB 81H   DB 0,8,0   SectorsInPartition DD 3E81FFH   DD 0   MFTPosition DD 0C5A70H   DD 0   MFTMirrPosition DD 1FCD0AH   DD 0   ClusterPerFRS DD 2   DB 08H,0,0,0,0F6H,79H   DB 58H,5CH,0BBH,58H,5CH,0F4H   DB 0,0,0,0      Loader: CLI ; Disable interrupts   XOR AX,AX   MOV SS,AX   MOV SP,7C00H ; Initalize stack   STI ; Enable interrupts   MOV AX,7C0H   MOV DS,AX   CALL GetCHSMaxSectorNum   MOV AX,0D00H   MOV ES,AX   XOR BX,BX   MOV BYTE PTR DS:[SectorNumWanted],10H   CALL ReadSector   PUSH 0D00H   PUSH 26AH   RETF   NTFS ENDP   ;-----------------------------------------------------------------------------   GetCHSMaxSectorNum PROC NEAR   MOV DL,DS:[CurrentDisk]   MOV AH,8   INT 13H   JNC Lost   MOV CX,0FFFFH   MOV DH,CL      Lost: MOVZX EAX,DH   INC AX   MOVZX EDX,CL   AND DL,3FH   MUL DX   XCHG CL,CH   SHR CH,6   INC CX   MOVZX ECX,CX   MUL ECX   MOV DS:CHSMaxSectorNum,EAX   RET   GetCHSMaxSectorNum ENDP   ;-----------------------------------------------------------------------------   IsSupportExtendInt13 PROC NEAR   MOV AH,41H   MOV BX,55AAH   MOV DL,DS:CurrentDisk   INT 13H ; Is support extend int 13h   JC SHORT NotSupport ; Jump if carry Set   CMP BX,0A

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档