126C0100 mov ax,301 写操作一个扇区 126c0103 mov bx,300:从内存地址300 126C0106 mov cX,1 0面1扇 126c0109 mov dx80:80H为硬盘,头为0 126C010cint13 126C: 010E int 3 断点 ⑤绝对磁盘内容的读出与写入 类似操作在FAT32结构硬盘被C∏H破坏的修复中比较常见,我们后面将讲到恢复的基本思路就是用第二 FAT表覆盖第一FAT表。那么无疑要读出第二FAT表的内容,再回写到第一FAT表的位置上。一般的来 说,大量连续扇区的读出写入 DISKEDIT进行非常方便,如果用 DEBUG做则要写一段子程序,不过程序 的主要技巧就是利用int25绝对磁盘读中断读出的内容,而用int26绝对磁盘写做内容写入。 4、数据可恢复的前提 有人觉得这个题目说法比较奇特,但数据恢复,作为一个数据再现的过程,一定要解决两个问题,第 是从哪里恢复的问题,第二是怎么恢复的问题。解决了这两个问题,我们事实上就把握了数据恢复的全 部思想脉络。而这一部分就是从哪里恢复的问题, ①、有效而及时的备份中是数据恢复最可靠的来源,在许多人倡导备份到秒的今天,恐怕不会有人怀疑 这点。而有些备份机制则是系统内建的,比如两份FAT表 ②、数据的实际有效性的判定是关键,对我们来说,硬盘无法自举、文件找不到、文件打不开等现象, 其实并不与数据丢失画等号。因为此时往往数据只是从操作系统的角度是一种逻辑丢失,而从物理扇区意 义上,它仍然存在或部分存在。最明显的就是文件删除的例子,事实上,这只是把文件首字节,改为0E 而已。而此时文件体依然存在 ③、数据损坏过程的可逆性分析:对数据的改变无非两种,取代和变换,前者是不可逆的,而后者则是 可逆的。我们以杀毒为例,对于大多文件性病毒来说,那些以附加而非代换方式感染的文件型病毒,理想 的杀毒过程就是感染的逆过程。这种分析也常见与重要信息被隐藏搬移或者被加密的情况,但分析将比较 复杂 ④、数据本身是否是标准信息:有些信息实际是通用或局部通用的,你无须考虑如何从本机抢救。只要 相同或相近的系统版本就可以了,比如BOOT区、隐含扇区、 WINDOWS的DLL文件等等。典型的例子 如分区表的代码区,这是一段标准代码,事实上,它就放在你的FD|sK程序里面,你可以用 DEBUG把他 提取出来 ⑤、数据本身是否可以由其他信息统计再生:有些信息尽管丢失了,也没有备份。但它实际可以从其他 数据中间接求得。最典型的就是主分区表中的分区信息,即使你把他清零也不必害怕,因为你可以从你几 个分区中计算再生 ⑥、破坏的完成程度:事实上,FDsK、 FORMAT都不会彻底破坏数据,一般只有低格和扇区覆盖操作 才会彻底破坏数据。但有时,破坏过程或者误操作过程会因人工终止、死机等原因不能完成。最明显的就 是CH病毒的例子,由于CH是以1024字节为单位覆盖扇区,这当然是不可逆过程,于是我们最初都认 为,破坏是很难恢复的,除非人工终止。事实上,当病毒覆盖某些扇区时会与9X系统发生冲突,从而造 成死机,使数据得到了保护 硬盘数据恢复知识1 1、硬件或介质问题的情况 ①、硬盘坏:硬盘自检不到的情况一般是硬件故障,又可分为主版的硬盘控制器(包括DE口)故障 和硬盘本身的故障。如果问题在主板上,那么数据应当没有影响。如果出在硬盘上,也不是一定不能修 复。硬盘可能的故障又可能在控制电路、电机和磁头以及盘片。如果是控制电路的问题,一般修好它 就可以读出数据。但如果电机、磁头和盘片故障,即使修理也要返回原厂,数据恢复基本没有可操作性
126C:0100 mov ax,301 ; 写操作一个扇区 126C:0103 mov bx,300 ;从内存地址 300 126C:0106 mov cx,1 ;0 面 1 扇 126C:0109 mov dx,80 ;80H 为硬盘,头为 0 126C:010C int 13 126C:010E int 3 ;断点 ⑤ 绝对磁盘内容的读出与写入 类似操作在 FAT32 结构硬盘被 CIH 破坏的修复中比较常见,我们后面将讲到恢复的基本思路就是用第二 FAT 表覆盖第一 FAT 表。那么无疑要读出第二 FAT 表的内容,再回写到第一 FAT 表的位置上。一般的来 说,大量连续扇区的读出写入 DISKEDIT 进行非常方便,如果用 DEBUG 做则要写一段子程序,不过程序 的主要技巧就是利用 int 25 绝对磁盘读中断读出的内容,而用 int 26 绝对磁盘写做内容写入。 4、数据可恢复的前提 有人觉得这个题目说法比较奇特,但数据恢复,作为一个数据再现的过程,一定要解决两个问题,第 一是从哪里恢复的问题,第二是怎么恢复的问题。解决了这两个问题,我们事实上就把握了数据恢复的全 部思想脉络。而这一部分就是从哪里恢复的问题。 ①、 有效而及时的备份中是数据恢复最可靠的来源,在许多人倡导备份到秒的今天,恐怕不会有人怀疑 这点。而有些备份机制则是系统内建的,比如两份 FAT 表。 ②、 数据的实际有效性的判定是关键,对我们来说,硬盘无法自举、文件找不到、文件打不开等现象, 其实并不与数据丢失画等号。因为此时往往数据只是从操作系统的角度是一种逻辑丢失,而从物理扇区意 义上,它仍然存在或部分存在。最明显的就是文件删除的例子,事实上,这只是把文件首字节,改为 0E 而已。而此时文件体依然存在。 ③、 数据损坏过程的可逆性分析:对数据的改变无非两种,取代和变换,前者是不可逆的,而后者则是 可逆的。我们以杀毒为例,对于大多文件性病毒来说,那些以附加而非代换方式感染的文件型病毒,理想 的杀毒过程就是感染的逆过程。这种分析也常见与重要信息被隐藏搬移或者被加密的情况,但分析将比较 复杂。 ④、 数据本身是否是标准信息:有些信息实际是通用或局部通用的,你无须考虑如何从本机抢救。只要 相同或相近的系统版本就可以了,比如 BOOT 区、隐含扇区、WINDOWS 的 DLL 文件等等。典型的例子 如分区表的代码区,这是一段标准代码,事实上,它就放在你的 FDISK 程序里面,你可以用 DEBUG 把他 提取出来。 ⑤、 数据本身是否可以由其他信息统计再生:有些信息尽管丢失了,也没有备份。但它实际可以从其他 数据中间接求得。最典型的就是主分区表中的分区信息,即使你把他清零也不必害怕,因为你可以从你几 个分区中计算再生。 ⑥、 破坏的完成程度:事实上,FDISK、FORMAT 都不会彻底破坏数据,一般只有低格和扇区覆盖操作 才会彻底破坏数据。但有时,破坏过程或者误操作过程会因人工终止、死机等原因不能完成。最明显的就 是 CIH 病毒的例子,由于 CIH 是以 1024 字节为单位覆盖扇区,这当然是不可逆过程,于是我们最初都认 为,破坏是很难恢复的,除非人工终止。事实上,当病毒覆盖某些扇区时会与 9X 系统发生冲突,从而造 成死机,使数据得到了保护。 硬盘数据恢复知识 1 1、 硬件或介质问题的情况 ①、 硬盘坏:硬盘自检不到的情况一般是硬件故障,又可分为主版的 硬盘控制器(包括 IDE 口)故障 和硬盘本身的故障。如果问题在主板上 ,那么数据应当没有影响。如果出在硬盘上,也不是一定不能修 复。 硬盘可能的故障又可能在控制电路、电机和磁头以及盘片。如果是控 制电路的问题,一般修好它, 就可以读出数据。但如果电机、磁头和盘片故障,即使修理也要返回原厂,数据恢复基本没有可操作性
②、软盘坏:当软盘数据损坏时,可以有几种处理,一种是用NDD修复,他会强制读出你坏区中的 东西,MOVE到空白扇区中,这就意味着如果你的磁盘很满操作是没法进行的。你也可以用 HDCOPY2.0 以上版本READ软盘,他也会进行强读,使读入缓冲区的数据是完好的,你再写入一张好磁盘就可以 了。当然这些方式,要看盘坏的程度。如果0磁道坏,数据也并非无法抢救,早先可以通过扇区读的方式, 把后面的数据读出,不过一般来说,你依然可以 HDCOPY来实验。 2、系统问题的情况 ①、在硬盘崩溃的情况下,我们经常要和一些提示信息打交道。我们要了解他典型提示信息的含义, 注意这些原因仅仅分析逻辑损坏而不是硬盘物理坏道的情况。 提示信息 可能原因 参考处理 nvalid Partition Table 分区信息中1BE、1CE、1DE处不符合只有一个80而其他两处为0用工具设定,操作在前面已经讲了 Error Loading Operating System 主引导程序读BOOT区5次没成功 重建BOOT区 Missing Operating System DOS 引导区的55AA标记丢失 用工具设定,把前面读写主引导区程序的DX=80改为180即可 Non-System Disk or Disk Error BOOT区中的系统文件名与根目录中的前两个文件不同 SYs命令重新传递系 Disk Boot Failure 读系统文件错误SYs命令重新传递系统 Invalid Driver Specification 如果试图切换到一个确实存在的逻辑分区出现以下信息,说明主分区表的分区记录被破坏了 根据各分区情况重建分区表,或者用自动修复工具修复。注意分区丢失是最常见的故障之一,此时不要 紧张,一般的说此时数据并没有问题,如果你不了解处理的方法。你可以选择我前面介绍的自动修复 分区工具进行处理,他们大多只改写主分区表的数据区,不会影响你的其他数据。特别提醒大家,这 些工具有的不支持84G硬盘,有的与BOS对硬盘的识别有关系。如果你在一台机器上不行,可以换 台BOs不同的机器实验一下 Bad or missing command interpreter 这是说找不到 COMMAND. com,或者 COMMAND文件坏了 如果你cOPY过去 COMMAND文件还是如此,一般来说是感染了某种病毒。 Invalid media type reading drive X Abort, Retry, Fail? 该盘没有高级格式化,或BOOT区中MO参数表被破坏。 这里情况较多,手工处理比较复杂,特别指出,此时 DISKEDIT可能无法运行,建议用工具修复 Incorrect Dos Version 可能是文件版本不统一,对9X来说,有95950s2,9898。em2等版本,重新SYS时,不要弄错了 用正确版本的启动盘重新SYs系统 另外说明一下,对于比较老的机器还有1071和 not found rom basic、 ROM BASIC OK等提示, 在目前机器中以消失。另外,当代码区完全被破坏的情况下,系统关于无系统的提示是来自B○S的 这条提示与B|os的种类有关。另外, FDISK/MBR对代码区的重建是我们经常采用的。再介绍一种比较 极端的情况,就是硬盘自检正常,而用软盘和硬盘都无法正常启动的情况,这可能是,病毒或恶意程
②、 软盘坏:当软盘数据损坏时,可以有几种处理,一种是用 NDD 修 复,他会强制读出你坏区中的 东西,MOVE 到空白扇区中,这就意味着 如果你的磁盘很满操作是没法进行的。你也可以用 HDCOPY2.0 以上版本 READ 软盘,他也会进行强读,使读入缓冲区的数据是完好的,你再写 入一张好磁盘就可以 了。当然这些方式,要看盘坏的程度。如果 0 磁道坏,数据也并非无法抢救,早先可以通过扇区读的方式, 把后面的数 据读出,不过一般来说,你依然可以 HDCOPY 来实验。 2、系统问题的情况 ①、 在硬盘崩溃的情况下,我们经常要和一些提示信息打交道。我们 要了解他典型提示信息的含义, 注意这些原因仅仅分析逻辑损坏而不是 硬盘物理坏道的情况。 提示信息 可能原因 参考处理 Invalid Partition Table 分区信息中 1BE、1CE、1DE 处不符合只有一个 80 而其他两处为 0 用工具设定,操作在前面已经讲了。 Error Loading Operating System 主引导程序读 BOOT 区 5 次没成功。 重建 BOOT 区 Missing Operating System DOS 引导区的 55AA 标记丢失 用工具设定,把前面读写主引导区程序的 DX=80 改为 180 即可 Non-System Disk or Disk Error BOOT 区中的系统文件名与根目录中的前两个文件不同 SYS 命令重新传递系统, Disk Boot Failure 读系统文件错误 SYS 命令重新传递系统, Invalid Driver Specifcationg 如果试图切换到一个确实存在的逻辑分区出现以下信 息,说明主分区表的分区记录被破坏了。 根据各分区情况重建分区表,或者用自动修复工具修 复。注意分区丢失是最常见的故障之一,此时不要 紧 张,一般的说此时数据并没有问题,如果你不了解处理 的方法。你可以选择我前面介绍的自动修复 分区工具进 行处理,他们大多只改写主分区表的数据区,不会影响 你的其他数据。特别提醒大家,这 些工具有的不支持 8.4G 硬盘,有的与 BIOS 对硬盘的识别有关系。如果你 在一台机器上不行,可以换 台 BIOS 不同的机器实验一下。 Bad or missing command interpreter 这是说找不到 COMMAND.com,或者 COMMAND 文件坏了。 如果你 COPY 过去 COMMAND 文件还是如此,一般来说是 感染了某种病毒。 Invalid media type reading drive X ,Abort,Retry,Fail? 该盘没有高级格式化,或 BOOT 区中 I/O 参数表被破坏。 这里情况较多,手工处理比较复杂,特别指出,此时 DISKEDIT 可能无法运行,建议用工具修复。 Incorrect DOS Version 可能是文件版本不统一,对 9X 来说,有 95 95osr/2,98,98 oem/2 等版本,重新 SYS 时,不要弄错 了。 用正确版本的启动盘重新 SYS 系统 另外说明一下,对于比较老的机器还有 1071 和 not found rom basic、ROM BASIC OK 等提示, 在目前机器中以消失。另外,当 代码区完全被破坏的情况下,系统关于无系统的提示是来自 BIOS 的, 这条提示与 BIOS 的种类有关。另外,FDISK/MBR 对代码区的 重建是我们经常采用的。再介绍一种比较 极端的情况,就是硬盘 自检正常,而用软盘和硬盘都无法正常启动的情况,这可能是, 病毒或恶意程
序利用,DOs3以上版本启动中都要检索分区表这一特点,把分区表置为死循环。造成启动中死机。网 上曾经流传过Dos622k修改方案,其实是修改西文 MS-DOS622的osYs,把C20306E8 0A00077203替换为:C20390E80A00728090就可以启动被类似情况锁住的硬 盘 ②、9无法正常进入或工作:以下仅仅是对可能的软故障分析,没有考虑硬件故障进入图形界面前 死机情况比较复杂,可能与加载的某些驱动有关可以在 START MS WINDOWS时,用F8激活菜单 设置为 step by step,看是哪项使系统死机。而后从 CONFIG或者 SYSTEM。IN中删除进入图形界 面后死机一般这与开机加载的程序有关进入安全模式(此时自动运行的程序将不能加载),对注册表中 的 HKEY LOCAL MACHINEISoftware Microsoftlwindows \CurrentVersion \ Run*中的键值和启动组中 加载的程序进行分析。必要的予以删除。显示正 XPLORE.EXE错误,不能进行任何操作 可能有某个系统的动态连接库损坏覆盖安装wN9X,或从其他机器上COPY损坏的连接库。(确定哪 个库损坏一般比较困难) 频繁出现出错各种信息 般是虚拟内存不足造成的看C盘是否剩余空间过少,或者打开的应用程序和窗口太多。 2、全盘崩溃和分区丢失 首先重建MBR代码区,再根据情况修正分区表。修正分区表的基本思路是查找以55AA为结束的扇区, 再根据扇区结构和后面是否有FAT等情况判定是否为分区表,最后计算填回,主分区表,由于需要计 算,过程比较烦琐,就不仔细介绍了,希望大家用前面介绍的工具,比如NDD处理。如果文件仍然无 法读取,要考虑用 TIRAMINT等工具进行修复。如果在FAT表彻底崩溃的情况下,恢复某个指定文件, 可以用 DISKEDIT或 DEBUG查找已知信息。比如文件为文本,文件中包含“软件狗”,那么我我们 就要把他们转换为内码C8EDBC 9B7进行查找 3、文件丢失、误格式化的情况 般的来说,文件删除仅仅是把文件的首字节,改为E5H,而并不破坏本身,因此可以恢复。但由于对 不连续文件要恢复文件链,由于手工交叉恢复对一般计算机用户来说并不容易,在这篇缩略版中就不 讲了,建议用工具处理,如果已经安装了 Norton utilities,可以用他来查找。另外, RECOVERNT等 工具,都是恢复的利器。特别注意的是,千万不要在发现文件丢失后,在本机安装什么恢复工具,你 可能恰恰把文件覆盖掉了。特别是你的文件在C盘的情况下,如果你发现主要文件被你失手清掉了 (比如你按SHFT删除),你应该马上直接关闭电源,用软盘启动进行恢复或把硬盘串接到其他有恢复 工具的机器处理。误格式化的情况可以用等工具处理。 4、文件损坏的情 般的说,恢复文件损坏需要清楚的了解文件的结构,并不是很容易的事情,而这方面的工具也不多。 不过一般的说,文件如果字节正常,不能正常打开往往是文件头损坏。 就文件恢复举几个简单例子 类型特征处理 ZP、TGZ等压缩包无法解压 Z|P文件损坏的情况下可以用一个名为zPFⅨ的工具处理。不过如果你的文件是从FTP站点上下载的 那么有可能是你没有定义下载模式为B|N 自解压文件无法解压 可能是可执行文件头损坏,可以用对应压缩工具按 缩文件解压。 DBF文件死机后无法打开 典型的文件头中的记录数与实际不匹配了,把文件头中的记录数向下调整,遗憾的是公式我找不到了 5、硬盘被加密或变换: 此时千万不要 FDISK/MBR,SYS等处理,否则可能数据再也无法找回,一定要反解加密算法,或找到 被移走的重要扇区。对于那些加密硬盘数据的病毒,清除时一定要选择能恢复加密数据的可靠杀毒软
序利用,DOS3 以上版本启动中都要检索分区表这一 特点,把分区表置为死循环。造成启动中死机。网 上曾经流传过 DOS6.22k 修改方案,其实是修改西文 MS-DOS6.22 的 IO.SYS,把 C2 03 06 E8 0A 00 07 72 03 替换为:C2 03 90 E8 0A 00 72 80 90 就可以启动被类似情况锁住的硬 盘。 ②、 9X 无法正常进入或工作:以下仅仅是对可能的软故障分析 ,没有考虑硬件故障.进入图形界面前 死机情况比较复杂,可能与加载的某些驱动有关 可以在 START MS WINDOWS 时,用 F8 激活菜单, 设置为 step by step ,看是哪项使系统死机。而后从 CONFIG 或者 SYSTEM。INI 中删除进入图形界 面后死机一般这与开机加载的程序有关进入安全模式(此时自动 运行的程序将不能加载),对注册表中 的 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run* 中的键值和启动组中 加载的程序进行分析。必要的予以删除。显示 IEXPLORE.EXE 错误,不能进行任何操作 可能有某个系统的动态连接库损坏覆盖安装 WIN9X,或从 其他机器上 COPY 损坏的连接库。(确定哪 个库损坏一般 比较困难) 频繁出现出错各种信息 一般是虚拟内存不足造成的看 C 盘是否剩余空间过少, 或者打开的应用程序和窗口太多。 2、 全盘崩溃和分区丢失 首先重建 MBR 代码区,再根据情况修正分区表。修正分区 表的基本思路是查找以 55AA 为结束的扇区, 再根据扇区结构 和后面是否有 FAT 等情况判定是否为分区表,最后计算填回, 主分区表,由于需要计 算,过程比较烦琐,就不仔细介绍了 ,希望大家用前面介绍的工具,比如 NDD 处理。如果文件仍然 无 法读取,要考虑用 TIRAMINT 等工具进行修复。如果在 FAT 表彻底崩溃的情况下,恢复某个指定文件, 可以用 DISKEDIT 或 DEBUG 查找已知信息。比如文件为文本,文件中包含“软件 狗”,那么我我们 就要把他们转换为内码 C8 ED BC FE B9 B7 进行查找。 3、 文件丢失、误格式化的情况 一般的来说,文件删除仅仅是把文件的首字节,改为 E5H,而并 不破坏本身,因此可以恢复。但由于对 不连续文件要恢复文件 链,由于手工交叉恢复对一般计算机用户来说并不容易,在这 篇缩略版中就不 讲了,建议用工具处理,如果已经安装了 Norton Utilities,可以用他来查找。另外,RECOVERNT 等 工具,都是 恢复的利器。特别注意的是,千万不要在发现文件丢失后,在 本机安装什么恢复工具,你 可能恰恰把文件覆盖掉了。特别是 你的文件在 C 盘的情况下,如果你发现主要文件被你失手清掉了 , (比如你按 SHIFT 删除),你应该马上直接关闭电源,用软盘 启动进行恢复或把硬盘串接到其他有恢复 工具的机器处理。误格 式化的情况可以用等工具处理。 4、 文件损坏的情况 一般的说,恢复文件损坏需要清楚的了解文件的结构,并不是很 容易的事情,而这方面的工具也不多。 不过一般的说,文件如果 字节正常,不能正常打开往往是文件头损坏。 就文件恢复举几个 简单例子。 类型 特征 处理 ZIP、TGZ 等压缩包无法解压 ZIP 文件损坏的情况下可以用一个名为 ZIPFIX 的工具 处理。不过如果你的文件是从 FTP 站点上下载的, 那么 有可能是你没有定义下载模式为 BIN。 自解压文件无法解压 可能是可执行文件头损坏,可以用对应压缩工具按一般 压缩文件解压。 DBF 文件死机后无法打开 典型的文件头中的记录数与实际不匹配了,把文件头中 的记录数向下调整,遗憾的是公式我找不到了。 5、 硬盘被加密或变换: 此时千万不要 FDISK/MBR,SYS 等处理,否则可 能数据再也无法找回,一定要反解加密算法,或找到 被移走的重要扇区。 对于那些加密硬盘数据的病毒,清除时一定要选择能恢复加密数据的可 靠杀毒软