|
gotomsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『楼 主』:
手工恢复纯DOS删除的长文件中文名目录及文件图解 1-3
使用 LLM 解释/回答一下
这是本人作的嵌文图解,供大家参考,(因原来不知贵站可上传图片,所以在瑞星发过)
(备注并不是向大家提倡这种恢复法)
这种“手工恢复(只借助debug)目的是通过这实习掌握磁盘数据结构
如果要借助软件的话,有很多啊!比如,easyrecovery, finaldata和norton utility 的unerase(DOS), 等等。
但当你不小心在回收站清空了文件或重要的数据,手边没有专门软件而又要急需马上恢复。在这种火烧眉毛又没有水的情况下,就只能靠这种对电脑内部磁盘数据结构的熟谙来赤裸裸地层层剥开它的神秘面纱,掏取原属于你的躲藏在原始森林中的珍宝了。
 
This is an embedded text diagram made by myself for everyone's reference. (Because originally I didn't know if your website could upload pictures, so I posted it on Rising)
(The note is not to advocate this recovery method to everyone)
The purpose of this "manual recovery (only relying on debug) is to master the disk data structure through this practice.
If you want to rely on software, there are many! For example, easyrecovery, finaldata and norton utility's unerase (DOS), etc.
But when you accidentally empty files or important data in the recycle bin and there is no special software at hand but you need to recover urgently immediately. In this case of extreme urgency and no help, you can only rely on the familiarity with the internal disk data structure of the computer to directly uncover its mysterious veil and retrieve the treasures that originally belong to you hidden in the primeval forest.
 
|
|
2004-4-2 00:00 |
|
|
gotomsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
|
2004-4-3 00:00 |
|
|
gotomsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
|
2004-4-3 00:00 |
|
|
qzwqzw
银牌会员
     天的白色影子
积分 2343
发帖 636
注册 2004-3-6
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
看来楼主真的很下功夫啊!值得称道!
只是这样的东西放在“教学室”未免阳春白雪了些,不如放到解答室吧。
看到教学室到处都是教程帮助满天飞,很有些无奈啊……
就没人推出一套权威之作,以节省宝贵的时间、空间和人力资源吗?
It seems that the original poster has really put in a lot of effort! Worth praising!
But putting such things in the "Teaching Room" is a bit too highbrow. It's better to put them in the Q&A Room.
Seeing that there are tutorials and help all over the Teaching Room, I'm quite helpless...
Is there no one who can come up with a set of authoritative works to save precious time, space and human resources?
|
|
2004-4-5 00:00 |
|
|
gotomsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
qzwqzw抬举了,哪里是什么阳春白雪!是磁盘的基础知识呀,我发现很多朋友在解决某个问题时,由于对磁盘数据结构不了解,所以对一些编辑磁盘数据的方法不知其所以然,所以化了三天三夜(困了就睡,行了就干!)作成这个图解,希望对大家有帮助.
qzwqzw is too kind, it's just basic knowledge about disks! I found that many friends don't understand the disk data structure when solving certain problems, so they don't know why some methods of editing disk data work. So I spent three days and three nights (sleep when tired, work when okay!) to make this illustration, hoping it will help everyone.
|
|
2004-4-6 00:00 |
|
|
eboyzwb
初级用户
 
积分 185
发帖 21
注册 2004-4-23
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
强 强 强
顶 顶 顶
Strong! Strong!! Strong!!!
Top! Top!! Top!!!
|
|
2004-4-24 00:00 |
|
|
hendry2003
初级用户
 
积分 192
发帖 20
注册 2004-3-22 来自 上海市
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
gotomsdos老兄能给我们讲讲磁盘的基础知识吗,就是主引导扇区,操作系统引导扇区,文件分配表等在内存和硬盘的地址和他们所代表的含义,最好结合DEBUG命令来讲解。
Brother gotomsdos, can you tell us about the basic knowledge of disks, such as the addresses of the master boot sector, operating system boot sector, file allocation table in memory and hard disk, and their meanings, preferably explained with DEBUG commands?
|

**************%%%%%%%%%************
我是大菜鸟,渴望成为一个能独立飞翔的老鸟
请各位大 虾不吝赐教,小弟在此谢谢了。
**************%%%%%%%**************** |
|
2004-4-25 00:00 |
|
|
SagInvoker
初级用户
 
积分 257
发帖 38
注册 2004-5-20
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
楼主这个真的写的很好
可是,楼主能给我们详解一下具体的地址吗?
我一直都很不明白是怎么找到地址的,
比如说在图一中102E:000B的位置放的每扇区字节数是0200h
而在图二中102E:000B的位置放的就是0022h了,
图一中说102E:000D是表明每簇4扇的,但是怎么到了图二就值都没有了
基本上图一和图二在图上标明有意义的位置其数值都不同
那么楼主究竟是怎么寻找编辑的地址的呢??
这些特定的地址有什么样的特征呢?
还有,能告诉我们一些存储器默认的地址吗?
要是还能够说一下一些常见的与硬件通讯的端口号就更好了.
除了楼主,如果哪位路见不平的高手也能够出手指点一翻,那在下在此跪谢了!
再次深深地感谢!
The building owner's writing is really great. But, can the building owner give us a detailed explanation of the specific address?
I have always been very confused about how to find the address.
For example, in the position of 102E:000B in Figure 1, the number of bytes per sector is 0200h,
And in the position of 102E:000B in Figure 2, it is 0022h.
Figure 1 says that 102E:000D indicates that there are 4 sectors per cluster, but why does the value disappear in Figure 2?
Basically, the values in the meaningful positions marked in the figures are different between Figure 1 and Figure 2.
Then how does the building owner find and edit the address??
What are the characteristics of these specific addresses?
Also, can you tell us some default addresses of the memory?
It would be even better if you can also talk about some common port numbers for communicating with hardware.
Except for the building owner, if any expert who sees an injustice is also able to come forward to give some guidance, then I would kneel and thank here.
Thank you deeply again!
|
|
2004-5-24 00:00 |
|
|
gotomsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
各位大家好啊!感谢支持!
好久没来这儿了!忙着学做FLASH动画、网页。。。
大家对磁盘知识有钻研精神!我挺高兴的!
但是,要全面讲解磁盘的基础知识,就是主引导扇区,操作系统引导扇区,文件分配表等在内存和硬盘的地址等等。。就可惜没有这么多时间了!不过,各位如有问题,如果有时间有能力的话,我会尽量解答的。
SagInvoker:你说
“比如说在图一中102E:000B的位置放的每扇区字节数是0200h
而在图二中102E:000B的位置放的就是0022h了,
图一中说102E:000D是表明每簇4扇的,但是怎么到了图二就值都没有了
基本上图一和图二在图上标明有意义的位置其数值都不同“
解答:
要弄清楚”硬盘的原有数据“和”装载到内存的数据“这两个概念。
硬盘数据我们是看不到的,只有把它装载到内存中,在内存中显示出来我们才能看到。即使你在WINDOWS中双击文件名,硬盘中的文件立刻显示出来了,那也是要先把它弄到内存后,再从内存输出到屏幕的。可只有内存而无硬盘,但不可有硬盘而无内存。内存是内存储器,硬盘、软盘和光驱是外存储器(简称为外存)。外存数据要先输到内存才能进系统。
好了,我们要把硬盘数据(一般是文件,但也有不是文件的数据,比如引导扇区(包括主引导和系统引导))先调入内存,(这里是调系统引导扇区)。102E:0000是内存地址,102E是默认的,这个0000(是我帖子中随意的)是可以随便定的,你也可以把硬盘数据输入到任意的四位数,比如1234,4321。。。。。但默认是0100,如你在DEBUG中,键入d,回车。就会从0100处显示100字节(十六进制)
所以,102E:000B既然是随意定的,那么这个102E:000B的位置上的数据就不可能一样了。就好比刻舟求剑,剑掉在水里,不变。而舟变。刻舟是找不到剑的。
”能告诉我们一些存储器默认的地址吗?“
解答:
存储器,你是指内存,还是CPU寄存器?可能是说CPU寄存器吧?有AX,BX,CX,DX等等。。。
上面说的102E好象是CS的默认地址吧
硬件通讯的端口号跟本题没有直接关系
必要了解的是DEBUG的基本命令,可搜索论坛查查,用心学一下,其实也不难的,我这个学文科的都能学会一点,说明只要用心学一下,其实也不难的!
希望大家进步!
Hello everyone! Thanks for your support!
I haven't been here for a long time! I've been busy learning to make FLASH animations, web pages...
Everyone has a spirit of research on disk knowledge! I'm very happy!
However, to comprehensively explain the basic knowledge of the disk, that is, the master boot sector, the operating system boot sector, the file allocation table, etc., and their addresses in memory and the hard disk, etc. It's a pity that I don't have so much time! But if you have any questions, if I have time and ability, I will try my best to answer them.
SagInvoker: You said
"For example, in Figure 1, the value at position 102E:000B is 0200h
And in Figure 2, the value at position 102E:000B is 0022h,
In Figure 1, 102E:000D indicates that each cluster has 4 sectors, but in Figure 2, the value is gone
Basically, the values at the meaningful positions marked in the figures in Figure 1 and Figure 2 are all different"
Answer:
We need to clarify the two concepts of "original data on the hard disk" and "data loaded into memory".
We can't see the data on the hard disk. Only when we load it into memory and display it in memory can we see it. Even if you double-click the file name in WINDOWS, the file on the hard disk is immediately displayed, which is also to first get it into memory and then output it from memory to the screen. But there can be memory without a hard disk, but there can't be a hard disk without memory. Memory is internal memory, and the hard disk, floppy disk and optical drive are external memory (referred to as external storage). The data of external storage must be input to memory first before entering the system.
Well, we need to load the hard disk data (generally files, but there are also data that are not files, such as the boot sector (including the master boot and system boot)) into memory first. (Here, it's loading the system boot sector). 102E:0000 is the memory address. 102E is the default, and this 0000 (random in my post) can be set randomly. You can also input the hard disk data to any four-digit number, such as 1234, 4321... But the default is 0100. If you type d in DEBUG and press Enter, it will display 100 bytes (hexadecimal) from 0100.
So, since 102E:000B is randomly set, the data at position 102E:000B can't be the same. It's just like the story of "carving a mark on the boat to find the sword". The sword falls into the water and doesn't change, but the boat changes. You can't find the sword by carving a mark on the boat.
"Can you tell us some default addresses of memory?"
Answer:
Do you mean memory or CPU registers? Maybe it refers to CPU registers? There are AX, BX, CX, DX, etc....
The above-mentioned 102E seems to be the default address of CS.
The port numbers for hardware communication are not directly related to this question.
It's necessary to understand the basic commands of DEBUG. You can search the forum to find out, and study them carefully. Actually, it's not difficult. Even I, who study liberal arts, can learn a little, which shows that as long as you study carefully, it's actually not difficult!
Hope everyone makes progress!
|
|
2004-6-12 00:00 |
|
|