Tìm hiểu Virus và các phòng chống

THThiNganHang
0 Downloads
234
0

Vorschau wird generiert...

Inhalt des Dokuments

Seite 2

www.nhipsongcongnghe.net 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. §Æt vÊ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 1/233 ThiNganHang.com

Seite 3

www.nhipsongcongnghe.net khoa Hμ néi ®· t¹o ®iÒu kiÖn gióp ®ì t«i hoμn thμnh ®å ¸n nμy. 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. Ch−¬ng I. §Æt vÊ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Ó 2/233 ThiNganHang.com

Seite 4

www.nhipsongcongnghe.net 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 ®ã 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. 3/233 ThiNganHang.com

Seite 5

www.nhipsongcongnghe.net 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. 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Ön tö ®Ç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! 4/233 ThiNganHang.com

Seite 6

www.nhipsongcongnghe.net 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. 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 5/233 ThiNganHang.com

Seite 7

www.nhipsongcongnghe.net 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. 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 6/233 ThiNganHang.com

Seite 8

www.nhipsongcongnghe.net 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: §ã 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: 7/233 ThiNganHang.com

Seite 9

www.nhipsongcongnghe.net 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 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 8/233 ThiNganHang.com

Seite 10

www.nhipsongcongnghe.net - 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: 9/233 ThiNganHang.com

Seite 11

www.nhipsongcongnghe.net 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. 10/233 ThiNganHang.com

Seite 12

www.nhipsongcongnghe.net 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: 11/233 ThiNganHang.com

Seite 13

www.nhipsongcongnghe.net 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 12/233 ThiNganHang.com

Seite 14

www.nhipsongcongnghe.net lμ c¸ch lμm cña bé ®iÒu khiÓn ®Üa. Ngoμi c¸ch tham chiÕu trªn, 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 13/233 ThiNganHang.com

Seite 15

www.nhipsongcongnghe.net (F)FF8- Lμ Cluster cuèi cïng cña Chain. (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. 14/233 ThiNganHang.com

Seite 16

www.nhipsongcongnghe.net 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 15/233 ThiNganHang.com

Seite 17

www.nhipsongcongnghe.net 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) 16/233 ThiNganHang.com

Seite 18

www.nhipsongcongnghe.net =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 ®ã. 17/233 ThiNganHang.com

Seite 19

www.nhipsongcongnghe.net d. Partition Table. Partition table cßn ®−îc gäi lμ Master Boot, l−u tr÷ t¹i Side 0, Cylinder 0, Sector 1 trªn ®Üa cøng. T¹i ®©y, ngoμi b¶ng Partition (b¶ng ph©n ch−¬ng), cßn cã mét ®o¹n m· ®−îc trao quyÒn ®iÒu khiÓn sau qu¸ tr×nh POST t−¬ng tù nh− ®èi víi Boot Sector trªn ®Üa mÒm. §o¹n m· nμy nh»m x¸c ®Þnh Partition nμo lμ ho¹t ®éng ®Ó ®äc Boot Sector cña Partition ®ã vμo 0:7C00 vμ trao quyÒn ®iÒu khiÓn cho ®o¹n m· cña Boot Sector ®ã. Partition Table b¾t ®Çu t¹i offset 1BEh, mçi Partition ®−îc ®Æc tr−ng b»ng mét entry 16 byte: Offse Siz Néi dung t e +0 1 Cê hiÖu boot. 0= kh«ng active, 80h=active +1 1 Sè hiÖu cña Header b¾t ®Çu +2 2 Sec-Cyl: Sè hiÖu Sector-Cylinder b¾t ®Çu cña Partition +4 1 M· hÖ thèng: 0=unknown, 1=DOS FAT-12,4=DOS FAT-16,... +5 1 Sè hiÖu cña Header kÕt thóc +6 2 Sec-Cyl: Sè hiÖu Sector-Cylinder kÕt thóc cña Partition +8 4 low-high: Sè Sector b¾t ®Çu t−¬ng ®èi +0Ch 4 low-high: Tæng sè Sector trªn Partition +10h §Çu vμo cña mét Partition kh¸c, kÕt thóc b¶ng Partition ph¶i lμ ch÷ ký cña hÖ ®iÒu hμnh: 0AA55h 18/233 ThiNganHang.com

Seite 20

www.nhipsongcongnghe.net 3. C¸c t¸c vô truy xuÊt ®Üa. a. Møc BIOS. C¸c t¸c vô truy xuÊt ®Üa ë møc BIOS sö dông c¸ch tham chiÕu ®Þa chØ trªn ®Üa theo Cylinder, Side vμ Sector. C¸c chøc n¨ng nμy ®−îc thùc hiÖn th«ng qua ng¾t 13h, víi tõng chøc n¨ng con trong thanh ghi AH. C¸c phôc vô c¨n b¶n nhÊt ®−îc m« t¶ nh− sau: 19/233 ThiNganHang.com

Die ersten 20 Seiten werden angezeigt. Laden Sie das Dokument herunter, um alles zu sehen.

Kommentare (0)

Anmelden um an der Diskussion teilzunehmen

Noch keine Kommentare. Seien Sie der Erste!