C语言编程读取主导扇区

备份硬盘主引导扇区程序 [首页][目录] 用FDISK对硬盘进行分区时,它在硬盘的0面0道1扇区生成一个包含分区信息表、主引导程序的主引导记录,其作用是当系统加电或复位时,若从硬盘自举,ROMBIOS就会把硬盘该扇区的内容读到内存的0000:7C00处,并执行主引导程序,把活动分区的操作系统引导到内存。目前,计算机病毒已逾千种,它们以各种方式威胁着计算机用户,其中有一类计算机病毒专门攻击计算机硬盘的主引导记录。如果在计算机无病毒污染时,把主引导记录读出来,写入一个数据文件,保存起来,一旦计算机受到这类病毒的侵袭,就可以用以前保存的主引导记录覆盖0面0道1扇区,消除病毒,这不失为一种有效的防病毒手段。二、程序设计TURBO C可以方便地调用汇编子程序,也可以用inline语句直接嵌入机器码,其函数及过程完备,代码质量高。作者用TURBO C做为编程语言,编写了备份硬盘主引导扇区程序,它既可以将硬盘的主引导记录写到文件中,又可以将文件的主引导记录备份写到硬盘的0面0道1扇区。该程序设计的关键点是:如何读写硬盘的主引导记录,我们可以使用BIOS磁盘读写中断13H来完成这项功能,在该程序中由ProcessPhysicalSector()来完成,它利用了C语言的inline汇编功能,直接将汇编语句嵌入C程序,它可以根据所给参数的不同,执行读/写磁盘指定扇区的功能,这是一个通用函数,可以移植到其它程序中使用。三、程序的使用方法在DOS系统提示符下执行: HMR 当取“/R”开关时,HMR执行读硬盘主引导记录的功能,可把硬盘上的主引导记录写到MRECORD.SAV的文件中;当取“/W”开关时,HMR执行写硬盘主引导记录的功能,可以根据提示把文件MRECORD.SAV中存储的内容写到硬盘的0面0柱1扇区。四、源程序清单/********************************************************//* 程序名称: HMR.C 1.50 *//* 作 者: 董占山 *//* 完成日期: 1990,1995 *//* 用 途: 读/写硬盘的主引导记录 *//* 编译方法: 用下列命令编译连接可以得到HMR.COM: *//* tcc -mt hmr *//* tlink c:\tc\lib\c0t+hmr,hmr,,c:\tc\lib\cs\lib /t *//********************************************************/#include #include char *MBRF = "C:\\MRECORD.SAV";char mp[512];int i;FILE *f1;/* 执行读写指定磁盘物理扇区的信息 */void ProcessPhysicalSector(OperateType,DriveType,HeadNo,StartCyl,StartSec,SectorNumber,p)unsigned char OperateType,DriveType,HeadNo,StartCyl,StartSec,SectorNumber;char *p;{ asm push es asm push ds asm pop es asm mov bx,p /* 缓冲区地址 */ asm mov ch,StartCyl /* 开始柱体数 */ asm mov cl,StartSec /* 开始扇区数 */ asm mov dh,HeadNo /* 头数 */ asm mov dl,DriveType /* 驱动器号,0=A,1=B,80=C,81=D */ asm mov ah,OperateType /* 操作类型 */ asm mov al,SectorNumber /* 扇区数 */ asm int 0x13 asm pop es};/* 回答是否的函数 */int YesNo(s

dos下c语言读取扇区的函数,C语言编程读取主导扇区.doc相关推荐

  1. python读取一行的函数_Python linecache.getline()读取文件中特定一行的脚本

    Python linecache.getline()读取文件中特定一行的脚本 比如: Code highlighting produced by Actipro CodeHighlighter (fr ...

  2. c语言数据块写入函数,C语言数据块读写函数:fread和fwrite

    在前面曾经介绍过C语言中的各种读写函数,首先是最简单的读写一个字符的函数fputc和fgetc,在这个基础上又出现了putw和getw.fgets和fputs,此外还说过格式化读写函数fprintf和 ...

  3. C语言 文件读写 fputs 函数 - C语言零基础入门教程

    目录 一.fgets 函数简介 二.fgets 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fgets 函数简介 fge ...

  4. C语言 文件读写 fseek 函数 - C语言零基础入门教程

    目录 一.fseek 函数简介 二.fseek 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fseek 函数简介 fse ...

  5. c语言中接收字符串函数,C语言中字符串处理函数拾锦

    之前在学习C语言的时候,知道C语言库函数中有很多字符串处理函数,但是没怎么好好利用它.最近,发现它们的作用实在太大了,而且有些是我从来都没有用过的.今天想整理一下,方便以后使用.比较容易理解的,就没有 ...

  6. c语言实现新建目录函数,C语言中改变目录的相关操作函数详解

    C语言fchdir()函数:改变当前工作目录头文件: #include 定义函数: int fchdir(int fd); 函数说明:fchdir()用来将当前的工作目录改变成以参数fd 所指的文件描 ...

  7. python按字节读取_Python read函数按字节(字符)读取文件的实现

    文件对象提供了 read() 方法来按字节或字符读取文件内容,到底是读取宇节还是字符,则取决于是否使用了 b 模式,如果使用了 b 模式,则每次读取一个字节:如果没有使用 b 模式,则每次读取一个字符 ...

  8. C语言 文件读写 fputc 函数 - C语言零基础入门教程

    目录 一.fputc 函数简介 二.fputc 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fputc 函数简介 fpu ...

  9. C语言 文件读写 ferror 函数 - C语言零基础入门教程

    目录 一.ferror 函数简介 二.ferror 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.ferror 函数简介 ...

  10. c 语言 内部函数与外部函数,C语言-内部函数与外部函数.doc

    C语言-内部函数与外部函数 吩算彭毙摊鬼笺选瓦瑞疡呐缴识曹研酥腹怕语透逆谓撮渴聋脐壤本精俄漏煎电米履详醋捐丧减掩敷挣煮阜祖锁锨溃睹喉爪冯耍缀示瞎嘴允戏馅径俊窗嚣节愈娶涩睡给峪凄灼助凝棍妻凌瞬诵攻枝溜甥 ...

最新文章

  1. ionic3相关知识收集
  2. Android系统Google Maps开发实例浅析
  3. python语句结束标志_jinja2.exceptions.TemplateSyntaxError:预期标记“打印语句结束”,已“发布” - python...
  4. 大数据WEB阶段(十二)会话技术、Cookie、Session及两者的区别
  5. [排序][二分][dp]JZOJ 2747 捡金子
  6. 数据结构期末复习之平衡二叉树
  7. adb bugreport保存位置_图文教程:PC利用adb工具通过CMD命令控制手机动作(备忘笔记)...
  8. android 视网膜黄斑检查 amsler,自测黄斑病变 | 一张图搞定
  9. 基于c#的windows基础设计(学习日记1)【关于异或运算】
  10. android 自定义 黑点,Android自定义密码样式 黑点转换成特殊字符
  11. Quartus17打开RTL视图
  12. phpmyadmin提示SELECT `prefs` FROM `phpmyadmin`.`pma_table_uiprefs` ······
  13. 五种代理IP proxy的设置方法
  14. 美国旧金山共享单车数据分析
  15. 机器学习实战——3.4 示例:使用决策树预测隐形眼镜类型
  16. autojs 绝美ui模板5
  17. 计算机网络知识点总结(超全,配有常见习题)
  18. 解决IndexError: invalid index of a 0-dim tensor. Use tensor.item() to convert a 0-dim tensor to a Pyth
  19. i2c-tool调试工具使用方法介绍
  20. Arduino驱动L298N控制直流电机的正反转和调速

热门文章

  1. Vue3.0 项目启动(打造企业级音乐App)
  2. shell了解MySQL_MySQL Shell的简单介绍(r12笔记第95天)
  3. 机器人的弊议论文_机器人的利弊议论文
  4. 关于微信支付电商平台二清解决方案
  5. 项目管理知识体系指南 (六)
  6. unity使用easy ar制作ar红包
  7. 我的世界 Java1.12.2联机下载_我的世界1.12.2
  8. 寒冰老师 计算机 山西,计算机科学与技术口号, 计算机培训小组口号
  9. 00后小花张子枫亲力推荐 OPPO Reno6系列影像表现着实不俗
  10. wnmp环境配置php7,WNMP nginx+php5+mysql测试环境安装(Windows7)(二)