Xem mẫu
- ÁN T T NGHI P
B GIÁO D C VÀ ÀO T O
TRƯ NG I H C BÁCH KHOA HÁ N I
KHOA TIN H C
TÀI: “tìm hi u v virut máy tính và
cách phòng ch ng”
GVHD : NGUY N THANH TÙNG
SVTH : ....................................
0
- ÁN T T NGHI P
M CL C
Trang
L i nói u 2
Chương I. tv n 3
Chương II. T ng quan 5
I. Gi i thi u t ng quát v virus tin h c 5
II. ĩa - T ch c thông tin trên ĩa 7
1. C u trúc v t lý 7
2. C u trúc logic 8
3. Các tác v truy xu t ĩa 14
4. Phân tích o n mã trong Master Boot và Boot Record 21
III. Qu n lý vùng nh và t ch c, thi hành file dư i DOS 29
1. Sơ vùng nh dư i DOS 29
2. M t s ch c năng liên quan n vùng nh c a DOS 31
3. C u trúc c a MCB 31
4. Qu n lý và t ch c thi hành file dư i DOS 33
IV. Các c i m c a B-virus 37
1. Phân lo i B-virus 37
2. M t s k thu t cơ b n c a B-virus 38
V. Các c i m c a F-virus 41
1. K thu t lây lan 41
2. K thu t m b o tính t n t i duy nh t 42
3. K thu t thư ng trú 43
4. K thu t nguy trang và gây nhi u 44
5. K thu t phá ho i 45
Chương III. Kh o sát virus One Half 46
1. Chu n b cho quá trình kh o sát 46
2. Phân tích Master Boot b nhi m virus One Half 46
3. Mã Assembly c a ph n u virus One Half trong
1
- ÁN T T NGHI P
Master Boot b nhi m 48
4. Kh o sát ph n thân c a virus One Half 49
5. Các modul Assembler c a ph n thân One Half 50
6. Mô t công vi c khôi ph c Master Boot và ph n d li u
ã b mã hoá 58
7. Kh o sát ng t 13h, ng t 21h và ng t 1Ch do
virus One Half chi m 59
8. Kh o sát file .COM b nhi m virus One Half 64
9. Kh o sát file .EXE b nhi m virus One Half 68
Chương IV. Thi t k chương trình ch ng virus 76
1. Ki m tra b nh trong 76
2. Ki m tra Master Boot và Boot Sector 79
3. Ki m tra file 84
4. Hư ng d n s d ng chương trình 98
5. Nh n xét, k t lu n 99
Ph l c. Li t kê chương trình ngu n 100
File 1. TESTVIR.C 100
File 2. TESTMEM.ASM 106
File 3. TESTMAST.ASM 111
File 4. TESTFILE.ASM 126
File 5. LIB.ASM 153
File 6. SCR.ASM 159
Tài li u tham kh o 161
2
- ÁN T T NGHI P
L I NÓI U
Virus tin h c hi n nay ang là n i băn khoăn lo l ng c a
nh ng ngư i làm công tác tin h c, là n i lo s c a nh ng ngư i
s d ng khi máy tính c a mình b nhi m virus. Khi máy tính c a
mình b nhi m virus, h ch bi t trông ch vào các ph n m m di t
virus hi n có trên th trư ng, trong trư ng h p các ph n m m này
không phát hi n ho c không tiêu di t ư c, h b lâm ph i tình
hu ng r t khó khăn, không bi t ph i làm như th nào.
Vì lý do ó, có m t cách nhìn nh n cơ b n v h th ng, cơ
ch và các nguyên t c ho t ng c a virus tin h c là c n thi t.
Trên cơ s ó, có m t cách nhìn úng n v virus tin h c trong
vi c phòng ch ng, ki m tra, ch a tr cũng như cách phân tích,
nghiên c u m t virus m i xu t hi n.
án này gi i quy t các v n v a nêu ra trên. Nó ư c
chia làm 4 chương:
Chương I. tv n .
Chương II. T ng quan v virus và h th ng.
Chương III. Kh o sát virus One Half.
Chương IV. Thi t k chương trình ch ng virus.
Ph n ph l c cu i án li t kê toàn b chương trình ngu n
c a chương trình ki m tra và khôi ph c i v i virus One Half.
Trong quá trình xây d ng án này, tôi ã nh n ư c nhi u
s giúp c a các th y cô giáo, b n bè ng nghi p và gia ình.
Tôi xin c m ơn s giúp nhi t tình c a th y Nguy n Thanh
Tùng, là th y giáo tr c ti p hư ng d n tài t t nghi p c a tôi,
c m ơn các th y cô giáo trong Khoa Tin h c, các th y cô giáo và
các cán b c a Trung tâm b i dư ng cán b Trư ng i h c Bách
khoa Hà n i ã t o i u ki n giúp tôi hoàn thành án này.
3
- ÁN T T NGHI P
Tôi cũng xin c m ơn các b n bè ng nghi p, ngư i thân trong
gia ình ã t o i u ki n, ng viên tôi trong quá trình làm án.
Vì i u ki n v th i gian không nhi u, kinh nghi m còn h n
ch , không tránh kh i các thi u sót. Tôi mong nh n ư c các ý
ki n óng góp c a các th y cô giáo và các ng nghi p các
chương trình sau này ư c t t hơn.
4
- ÁN T T NGHI P
Chương I.
TV N
M c dù virus tin h c ã xu t hi n t khá lâu trên th gi i và
trong nư c ta, song i v i ngư i s d ng và c nh ng ngư i làm
công tác tin h c, virus tin h c v n là v n nan gi i, nhi u khi nó
gây các t n th t v m t mát d li u trên ĩa, gây các s c trong
quá trình v n hành máy. S nan gi i này có nhi u lý do: Th nh t,
các ki n th c v m c h th ng khó hơn các ki n th c v l p trình
trên các ngôn ng b c cao và các chương trình ng d ng, c bi t
nh ng thông tin c n thi t v h th ng không ư c DOS chính
th c công b ho c là các thông tin dành riêng (Reseved), i u này
làm cho nh ng ngư i c p m c h th ng không nhi u. Th
hai, h u như r t ít các tài li u v virus tin h c ư c ph bi n, có l
ngư i ta nghĩ r ng n u có các tài li u c p t i virus m t cách t
m , h th ng thì s ngư i tò mò, ngh ch ng m vi t virus s còn
tăng lên n a! Th ba, s lư ng các virus xu t hi n khá ông o,
m i virus có m t c thù riêng, m t cách ho t ng riêng và m t
cách phá ho i riêng. tìm hi u c n k v m t virus không th
m t th i gian ng n ư c, i u này làm n n lòng nh ng ngư i l p
trình mu n tìm hi u v virus.
Tuy ã xu t hi n khá nhi u nh ng chương trình tiêu di t
virus và khôi ph c l i ĩa, khôi ph c l i các file b nhi m song
trong nh ng trư ng h p c th , ôi khi các ph n m m này cũng
không gi i quy t ư c v n . Có nhi u lý do: Th nh t, m i
chương trình ch tiêu di t m t s lo i virus mà nó bi t. Th hai,
chúng ta u bi t r ng sau khi m t virus nào ó xu t hi n, nó m i
ư c nghiên c u và mã nh n bi t c a nó m i ư c ưa vào danh
m c, khi ó chương trình m i có kh năng tiêu di t ư c. i u ó
5
- ÁN T T NGHI P
có nghĩa là có th có các lo i virus xu t hi n trong máy tính c a
chúng ta mà các chương trình ki m tra virus v n c thông báo
"OK". c bi t là các virus do nh ng ngư i l p trình trong nư c
vi t, h u h t không ư c c p nh t vào trong các chương trình
ki m tra và tiêu di t virus như SCAN, F-PROT, UNVIRUS,...
Vì các lý do nêu trên, vi c phòng ch ng virus v n là bi n
pháp t t nh t tránh vi c virus xâm nh p vào trong h th ng
máy c a mình. Trong trư ng h p phát hi n có virus xâm nh p,
ngoài vi c s d ng các chương trình di t virus hi n ang có m t
trên th trư ng, vi c hi u bi t cơ ch , các c i m ph bi n c a
virus là nh ng ki n th c mà nh ng ngư i làm công tác tin h c
nên bi t có các x lý phù h p.
N i dung c a án này ưa ra m t s phân tích cơ b n i
v i m ng ki n th c h th ng, các nguyên t c thi t k , ho t ng
c a các lo i virus nói chung, áp d ng trong phân tích virus One
Half. Trên cơ s ó, c p t i phương pháp phòng tránh, phát
hi n và phân tích v i m t virus nào ó. Các ki n th c này c ng
v i các ph n m m di t virus hi n có trên th trư ng có tác d ng
trong vi c h n ch s lây lan, phá ho i c a virus nói chung.
Chương II.
T NG QUAN
I. GI I THI U T NG QUÁT V VIRUS TIN H C.
1. Virus tin h c.
Thu t ng virus tin h c dùng ch m t chương trình máy
tính có th t sao chép chính nó lên nơi khác ( ĩa ho c file) mà
ngư i s d ng không hay bi t. Ngoài ra, m t c i m chung
thư ng th y trên các virus tin h c là tính phá ho i, nó gây ra l i
thi hành, thay i v trí, mã hoá ho c hu thông tin trên ĩa.
6
- ÁN T T NGHI P
2. Ý tư ng và l ch s .
Lý thuy t v m t chương trình máy tính có th t nhân lên
nhi u l n ư c c p t i t r t s m, trư c khi chi c máy tính
i nt u tiên ra i. Lý thuy t này ư c ưa ra năm 1949 b i
Von Neumann, trong m t bài báo nhan 'Lý thuy t và cơ c u
c a các ph n t t hành ph c t p' (Theory and Organization of
Complicated Automata).
Sau khi máy tính i n t ra i, xu t hi n m t trò chơi tên là
'Core War', do m t s th o chương viên c a hãng AT&T's Bell
phát tri n. Trò chơi này là m t cu c u trí gi a hai o n mã c a
hai th o chương viên, m i o n mã u c g ng t nhân lên và
tiêu di t o n mã c a i phương. n 5/1984, Core War ư c
mô t trên báo chí và bán như m t trò chơi máy tính.
Nh ng virus tin h c u tiên ư c tìm th y trên máy PC vào
kho ng 1986-1987. Các virus thư ng có m t xu t phát i m là
các trư ng i h c, nơi có các sinh viên gi i, thích t kh ng nh
mình!
3. Phân lo i:
Thông thư ng, d a vào i tư ng lây lan là file hay ĩa mà
virus ư c chia thành hai nhóm chính:
- B-virus: Virus ch t n công lên Master Boot hay Boot
Sector.
- F-virus: Virus ch t n công lên các file kh thi.
M c dù v y, cách phân chia này cũng không h n là chính
xác. Ngo i l v n có các virus v a t n công lên Master Boot
(Boot Sector) v a t n công lên file kh thi.
có m t cách nhìn t ng quan v virus, chúng ta xem chúng
dành quy n i u khi n như th nào.
7
- ÁN T T NGHI P
a. B-virus.
Khi máy tính b t u kh i ng (Power on), các thanh ghi
phân o n u ư c t v 0FFFFh, còn m i thanh ghi khác u
ư c t v 0. Như v y, quy n i u khi n ban u ư c trao cho
o n mã t i 0FFFFh: 0h, o n mã này th c ra ch là l nh nh y
JMP FAR n m t o n chương trình trong ROM, o n chương
trình này th c hi n quá trình POST (Power On Self Test - T
ki m tra khi kh i ng).
Quá trình POST s l n lư t ki m tra các thanh ghi, ki m tra
b nh , kh i t o các Chip i u khi n DMA, b i u khi n ng t,
b i u khi n ĩa... Sau ó nó s dò tìm các Card thi t b g n
thêm trao quy n i u khi n cho chúng t kh i t o r i l y l i
quy n i u khi n. Chú ý r ng ây là o n chương trình trong
ROM (Read Only Memory) nên không th s a i, cũng như
không th chèn thêm m t o n mã nào khác.
Sau quá trình POST, o n chương trình trong ROM ti n hành
c Boot Sector trên ĩa A ho c Master Boot trên ĩa c ng vào
RAM (Random Acess Memory) t i a ch 0:7C00h và trao quy n
i u khi n cho o n mã ó b ng l nh JMP FAR 0:7C00h. ây là
ch mà B-virus l i d ng t n công vào Boot Sector (Master
Boot), nghĩa là nó s thay Boot Sector (Master Boot) chu n b ng
o n mã virus, vì th quy n i u khi n ư c trao cho virus, nó s
ti n hành các ho t ng c a mình trư c, r i sau ó m i ti n hành
các thao tác như thông thư ng: c Boot Sector (Master Boot)
chu n mà nó c t gi u âu ó vào 0:7C00h r i trao quy n i u
khi n cho o n mã chu n này, và ngư i s d ng có c m giác r ng
máy tính c a mình v n ho t ng bình thư ng.
b. F-virus.
8
- ÁN T T NGHI P
Khi DOS t ch c thi hành File kh thi (b ng ch c năng 4Bh
c a ng t 21h), nó s t ch c l i vùng nh , t i File c n thi hành và
trao quy n i u khi n cho File ó. F-virus l i d ng i m này b ng
cách g n o n mã c a mình vào file úng t i v trí mà DOS trao
quy n i u khi n cho File sau khi ã t i vào vùng nh . Sau khi F-
virus ti n hành xong các ho t ng c a mình, nó m i s p x p, b
trí tr l i quy n i u khi n cho File cho File l i ti n hành ho t
ng bình thư ng, và ngư i s d ng thì không th bi t ư c.
Trong các lo i B-virus và F-virus, có m t s lo i sau khi dành
ư c quy n i u khi n, s ti n hành cài t m t o n mã c a
mình trong vùng nh RAM như m t chương trình thư ng trú
(TSR), ho c trong vùng nh n m ngoài t m ki m soát c a DOS,
nh m m c ích ki m soát các ng t quan tr ng như ng t 21h, ng t
13h,... M i khi các ng t này ư c g i, virus s dành quy n i u
khi n ti n hành các ho t ng c a mình trư c khi tr l i các
ng t chu n c a DOS.
có các cơ s trong vi c kh o sát virus, chúng ta c n có các
phân tích hi u rõ v c u trúc ĩa, các o n mã trong Boot
Sector (Master Boot) cũng như cách th c DOS t ch c, qu n lý
cùng nh và t ch c thi hành m t File kh thi như th nào.
II. ĨA - T CH C THÔNG TIN TRÊN ĨA.
1. C u trúc v t lý.
Các lo i ĩa ( ĩa c ng và ĩa m m) u lưu tr thông tin d a
trên nguyên t c t hoá: u t c-ghi s t hoá các ph n t c c
nh trên b m t ĩa. D li u trên ĩa ư c ghi theo nguyên t c r i
r c (digital), nghĩa là s mang giá tr 1 ho c 0. có th t ch c
thông tin trên ĩa, ĩa ph i ư c a ch hoá. Nguyên t c a ch
hoá d a trên các khái ni m sau ây:
a. Side:
9
- ÁN T T NGHI P
ó là m t ĩa, i v i ĩa m m có hai m t ĩa, i v i ĩa
c ng có th có nhi u m t ĩa. làm vi c v i m i m t ĩa có
m t u t tương ng, vì th ôi khi ngư i ta còn g i là Header.
Side ư c ánh s l n lư t b t u t 0, ch ng h n i v i ĩa
m m, m t trên là m t 0, m t dư i là m t 1, i v i ĩa c ng cũng
tương t như v y s ư c ánh s là 0,1,2,3...
b. Track:
Là các vòng tròn ng tâm trên m t ĩa, nơi t p trung các
ph n t t hoá trên b m t ĩa lưu tr thông tin. Các track ánh
s t bên ngoài vào trong, b t u t 0.
c. Cylinder:
M t b các track cùng th t trên m i m t ĩa ư c tham
chi u n như m t ph n t duy nh t, ó là Cylinder. S hi u c a
Cylinder chính là s hi u c a các track trong Cylinder ó.
d. Sector:
B i u khi n ĩa thư ng ư c thi t k có th c và ghi
m i l n ch t ng phân o n c a track, m i phân o n này g i là
m t sector, dư i h i u hành DOS, dung lư ng m t sector là 512
byte. Các sector trên track ư c ánh a ch , thông thư ng hi n
nay ngư i ta s d ng phương pháp ánh s sector m m, nghĩa là
mã hoá a ch c a sector và g n vào ph n u c a sector ó.
Ngoài khái ni m Sector, DOS còn ưa ra khái ni m Cluster,
nh m m c ích qu n lý ĩa ư c t t hơn. Cluster bao g m t p h p
các Sector, là ơn v mà DOS dùng phân b khi lưu tr các file
trên ĩa. Tuỳ dung lư ng ĩa mà s lư ng Sector trên m t Cluster
có th là 1, 2 ( i v i ĩa m m) ho c 4, 8, 16 ( i v i ĩa c ng).
2. C u trúc logic:
i v i m i lo i ĩa, DOS u t ch c ĩa thành hai ph n:
Ph n h th ng và ph n d li u. Ph n h th ng bao g m ba ph n
10
- ÁN T T NGHI P
con: Boot Sector, b ng FAT (File Alocation Table) và Root
Directory. i v i ĩa c ng, DOS cho phép chia thành nhi u ph n
khác nhau, cho nên còn có m t c u trúc c bi t khác là Partition
Table.
Sau ây chúng ta c p t i t ng ph n m t:
a. Boot Sector.
i v i ĩa m m, Boot Sector chi m trên Sector 1, Side 0,
Cylinder 0. i v i ĩa c ng, v trí trên dành cho b ng Partition,
còn Boot Sector chi m sector u tiên trên các ĩa logíc.
Khi kh i ng máy, Boot Sector ư c c vào a ch 0:
7C00h và ư c trao quy n i u khi n. o n mã trong Boot Sector
có các nhi m v như sau:
- Thay l i b ng tham s ĩa m m (ng t 1Eh).
- nh v và c Sector u tiên c a Root vào a ch 0:0500h
- Dò tìm, c các file h th ng n u có và trao quy n i u
khi n cho chúng.
Ngoài ra, Boot Sector còn ch a m t b ng tham s quan tr ng
n c u trúc ĩa, b ng tham s này b t u t i offset 0Bh c a
Boot Sector, c th c u trúc này như sau:
11
- ÁN T T NGHI P
Offset Siz N i Gi i thích
e dung
+0h 3 JMP L nh nh y n u o n mã Boot.
xxxx
+3h 8 Tên c a h th ng ã format ĩa.
Start of BPB----------------(Bios Parameter Block)
+0Bh 2 SectSiz S byte trong m t Sector.
+0Dh 1 ClustSiz S Sector trong m t Cluter.
+0Eh 2 ResSecs S lư ng Sector dành riêng (trư c
FAT).
+10h 1 FatCnt S b ng FAT.
+11h 2 RootSiz S u vào t i a cho Root (32
byte cho m i u vào).
+13h 2 TotSecs T ng s sector trên ĩa (ho c
Partition) trong trư ng h p dung
lư ng < 32MB.
+15h 1 Media Media descriptor ĩa (gi ng như
byte u b ng FAT).
+16h 2 FatSize S lư ng Sector cho m i b ng
FAT.
End of BPB-----------------
+18h 2 TrkSecs S lư ng Sector trên m t track.
+1Ah 2 HeadCnt S lư ng u c ghi.
+1Ch 2 HidnSec S sector d u m t ( ư c dùng
trong c u trúc Partition).
+1Eh u o n mã trong Boot Sector.
12
- ÁN T T NGHI P
Trên ây là b ng tham s ĩa khi format ĩa b ng DOS các
Version trư c ây. T DOS Version 4.0 tr i, có m t s m r ng
có th qu n lý ư c các ĩa có dung lư ng l n hơn 32MB, s
m r ng này b t u t offset +1Ch gi nguyên các c u trúc
trư c ó. Ph n m r ng thêm có c u trúc như sau:
13
- ÁN T T NGHI P
Offse Size N i dung Gi i thích
t
+1Ch 4 HidnSec S Sector d u m t ( ã ư c i u
ch nh lên 32 bit).
+20h 4 TotSec T ng s Sector trên ĩa khi giá tr
offset +13h b ng 0.
+24h 1 PhsDsk S ĩa v t lý (0: ĩa m m, 80: ĩa
c ng 1, 81: ĩa c ng 2).
+25h 1 Resever dành riêng.
+26h 1 Ký hi u nh n di n c a DOS
Version x.xx
+27h 4 Serial Là s nh phân 32 bit cho bi t
Serial Number.
+2Bh B Volume Volume label
+36h 8 Lo i b ng FAT 12 hay 16 bit.
Thông tin này dành riêng c a DOS.
+3Eh u o n mã chương trình.
Ph n mã trong Boot Sector s ư c phân tích m t cách chi
ti t trong ph n sau này.
b. FAT (File Alocation Table).
B ng FAT là vùng thông tin c bi t trong ph n h th ng,
dùng lưu tr ng thái các Cluster trên ĩa, qua ó DOS có th
qu n lý ư c s phân b File.
Cách tham chi u n m t a ch trên ĩa thông qua s hi u
Side, Cylinder, Sector là cách làm c a ng t 13h c a BIOS và cũng
là cách làm c a b i u khi n ĩa. Ngoài cách tham chi u trên,
14
- ÁN T T NGHI P
DOS ưa ra m t cách tham chi u khác ch theo m t thông s : ó
là s hi u Sector. Các Sector ư c ánh s b t u t 0 m t cách
tu n t t Sector 1, Track 0, Side 0 cho n h t s Sector trên
Track này, r i chuy n sang Sector 1, Track 0, Side 1,... T t c các
Sector c a m t Cylinder s ư c ánh s tu n t trư c khi DOS
chuy n sang Track k ti p. Cách ánh s này g i là ánh s
Sector logic, và ư c DOS s d ng cho các tác v c a mình.
Khái ni m Cluster ch dùng phân b ĩa lưu tr File,
cho nên ch b t u ánh s Cluster t nh ng Sector u tiên c a
ph n d li u (ph n ngay sau Root). S hi u u tiên ánh s
Cluster là 2, nh m m c ích th ng nh t trong cách qu n lý thông
tin trong b ng FAT.
N i dung c a FAT:
M i Cluster trên ĩa ư c DOS qu n lý b ng m t entry, hai
entry u tiên dùng ch a thông tin nh n d ng ĩa, ó là lý do
Cluster ư c ánh s b t u t 2. Entry 2 ch a thông tin c a
Cluster 1, Entry 3 ch a thông tin c a Cluster 2,... Giá tr c a
entry trong b ng FAT có ý nghĩa như sau:
Giá tr Ý nghĩa
0 Cluster còn tr ng, có th phân b ư c
(0)002- Cluster ang ch a d li u c m t File nào ó,
(F)FEF giá tr c a nó là s Cluster k ti p trong
Chain.
(F)FF0- Dành riêng, không dùng
(F)FF6
(F)FF7 Cluster h ng
(F)FF8- Là Cluster cu i cùng c a Chain.
15
- ÁN T T NGHI P
(F)FFF
i v i ĩa m m và ĩa c ng có dung lư ng nh , DOS s
d ng b ng FAT-12, nghĩa là s d ng 12 bit (1,5 byte) cho m t
entry. i v i các ĩa c ng có dung lư ng l n, DOS s d ng
b ng FAT-16, nghĩa là s d ng 2 byte cho m t entry. Cách nh
v trên hai b ng FAT này như sau:
- i v i FAT-16: Vì m i entry chi m 2 byte, nên v trí c a
Cluster ti p theo b ng giá tr c a Cluster hi n th i nhân v i 2.
- i v i FAT-12: Vì m i entry chi m 1,5 byte, nên v trí c a
Cluster ti p theo b ng giá tr c a Cluster hi n th i nhân v i 1,5.
Giá tr c th là 12 bit th p n u s th t s Cluster là ch n,
ngư c l i là 12 bit cao trong word t i v trí c a Cluster ti p theo
ó.
o n chương trình sau ây minh h a cách nh v b ng FAT.
Vào: SI : S Cluster ưa vào.
Bi n FAT_type lưu lo i b ng FAT, n u bit 2 = 1 thì FAT
là 16 bit.
Ra: DX : S Cluster ti p theo.
16
- ÁN T T NGHI P
Locate_Cluster proc
mov ax,3
test FAT_type,4
je FAT_12
inc ax
FAT_12:
mul si
shr ax,1
mov bx,ax
mov dx,FAT_buff[bx]
test FAT_type,4
jne FAT_16
mov cl,4
test si,1
je Chan
shr dx,cl ; L thì l y 12 bit cao
Chan:
and dh,0F ; Ch n thì l y 12 bit th p
FAT_16:
ret
Locate_Cluster endp
M t ví d v ph n u c a b ng FAT:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0f
0 1 2 3 4 5 6 7 8 9 a b c d e
0 F F F F 0 0 0 0 0 0 0 0 F F 0 0
0 8 F F F 3 0 4 0 5 0 6 0 F F 8 0
1 0 0 0 0 0 0 F F F F B 0 F F F F
0 9 0 A 0 B 0 F F F F 9 2 F F F F
17
- ÁN T T NGHI P
M i entry trong b ng FAT này chi m 2 byte (FAT 16bit), 2
entry u tiên c a b ng FAT này là giá tr nh n d ng ĩa (FFF8-
FFFF), giá tr c a Cluster 2 tr t i Cluster 3, giá tr c a Cluster 3
l i tr t i Cluster 4, ... cho n khi Cluster 6 có giá tr FFFF,
nghĩa là k t thúc File.
c. Root Directory.
Root Directory còn ư c g i là thư m c g c, n m ngay sau
FAT. Nó có nhi m v lưu gi các thông tin thư m c c a các File
trên ĩa. M i File ư c c trưng b i entry ( u vào) trong Root
Director, m i entry chi m 32 byte lưu gi các thông tin sau ây:
Offset Kích thư c N i dung
+0h 8 Tên file ư c canh trái
+8h 3 Ph n m r ng ư c canh trái
+0Bh 1 Thu c tính file
+0Ch 0Ah Dành riêng
+16h 2 Th i gian t o l p hay c p nh t l n
cu i.
+18h 2 Ngày tháng t o l p hay c p nh t
l n cu i.
+1Ah 2 S Cluster b t u c a file (trong
FAT).
+1Ch 4 Kích thư c file
Byte thu c tính có ý nghĩa như sau:
7 6 5 4 3 2 1 0
=1: File ch c (Read Only)
=1: File n (Hidden)
18
- ÁN T T NGHI P
=1: File h th ng (System)
=1: Volume Label
=1: Sub Directory
=1: File chưa ư c backup (thu c tính archive)
Ký t u tiên ph n tên file có ý nghĩa như sau:
0 Entry còn tr ng, chưa dùng
. (d u D u hi u dành riêng cho DOS, dùng trong
ch m) c u trúc thư m c con
0E5h Ký t sigma này thông báo cho DOS bi t
entry c a file này ã b xoá.
M t ký t Entry này ang lưu gi thông tin v m t file
khác nào ó.
19
nguon tai.lieu . vn