999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于分區表的移動存儲介質標識方法

2009-03-02 09:33:12妙全興
現代電子技術 2009年4期

沈 瑜 妙全興

摘 要:移動存儲介質在涉及安全的應用場合需要對其進行標識。給出基于磁盤分區表實現移動存儲介質標識的方法,對分區表的結構和工作原理、在分區表空閑表項中寫入和訪問標識的方法等進行闡述,并給出核心代碼。結果表明,該方法不但可行,而且具有其他方法所沒有的優點,是對移動存儲介質進行標識和認證的一種新的手段。

關鍵詞:移動存儲介質;分區表;標識;表項;API

中圖分類號:TP393 文獻標識碼:B 文章編號:1004-373X(2009)04-096-03

Method of Marking Removable Storage Medium Based on Partition Table

SHEN Yu, MIAO Quanxing

(Armed Police Engineering College,Xi′an,710086,China)

Abstract: It is necessary for removable storage medium to be marked when involving the application of security.The new method for marking removable storage medium based on partition table is put forth.The formation and principle of partition table are discussed,the method to modify and check the vacancy partition table item is described,and some key codes are presented.The result indicates that it is a new technical method for removable storage medium to be marked and authenticated.

Keywords:removable storage medium;partition table;marking;table item;API

0 引 言

由于移動存儲介質(移動硬盤、U盤等)具有容量大、體積小、易攜帶等一系列特點,而得到了廣泛的使用,同時移動存儲介質也存在使用過于隨意,難以對其使用情況進行有效監管等問題,因而已經成為敏感數據泄漏的重要環節。因此,移動存儲介質在涉及安全的應用場合需要對其進行標識,以便于對移動介質的使用進行監管。

部分移動存儲介質有一個廠家惟一的序列號,這些序列號一般用戶無法改變,但可以使用現成的軟件或編程方法方便的讀出。然而,各廠家定義的序列號并不遵從統一的標準,不同品牌移動存儲介質的序列號長度、使用字符等不盡相同,甚至有些閃存產品根本就沒有序列號。同時移動存儲介質品牌繁雜,對所使用的移動存儲介質種類做硬性規定又不現實。因此,利用固有的序列號標識移動介質存在困難。在此提出的方法是將一個惟一的編號作為序列號寫入移動存儲介質分區表空閑字段中,該方法既適用于目前常用的各種存儲介質,又具有較好的隱蔽性和抗毀性,能實現對各種移動存儲介質統一的標識。

1 硬盤的邏輯結構

常見的移動存儲介質有U盤和移動硬盤。他們的物理結構和存儲機理都不同。如:U盤是半導體存儲設備,而移動硬盤是磁存儲設備。但是這些移動存儲介質的邏輯結構都是相同的,而且有相同的邏輯訪問方式,都是基于特定的文件系統。下面就以硬盤為例,對移動存儲介質的存儲結構,分區原理等進行詳細闡述。

1.1 硬盤的數據分布

硬盤上的數據按照不同特點和作用大致可分為5部分:主引導記錄區、DOS引導記錄區、文件分配表區、文件目錄表區和數據區。

主引導記錄區位于硬盤的0磁道0柱面1扇區,占用此扇區的前446個字節,其中存放的主引導記錄是BIOS向操作系統交接的重要入口。其后的64個字節是主分區表,用來存儲硬盤主引導分區信息。

DOS引導記錄區位于硬盤的0磁道1柱面1扇區,它包括一個引導程序和一個被稱為BPB(BIOS參數塊)的分區參數記錄表,是操作系統可以直接訪問的第一個扇區。引導程序的任務是對硬盤系統進行復位,并檢查兩個系統隱含文件的合法性,即查看它們是否處于指定根目錄區的文件目錄表中第一,第二項,若不合法,則給出提示信息。若檢查合法,則將IO.SYS讀入內存并執行。BPB參數塊主要記錄硬盤的每扇區字節數、磁頭數、目錄起始簇等重要信息。

文件分配表區 (File Allocation Table)是用來記錄文件存儲位置的表格,文件的存放是以鏈式存儲的方式存放在磁盤的非連續區域內的,通過指針將分段存放的文件聯系在一起。當讀寫文件時,操作系統通過文件分配表可以準確地讀出文件。文件分配表一般有兩個,第二個文件分配表作為第一個的備份。

文件目錄表區(DIRECTORY)就是文件的目錄,它記錄著每個文件的起始單元、文件的屬性等,與文件分配表共同配合,確定文件的位置。

數據區(DATA)是真正存儲數據的區域,其組織與管理由系統根據前4個區域的內容來完成。

1.2 硬盤的分區

分區是硬盤上的一組連續的扇區。硬盤上的任何扇區均要位于某一特定的分區中才能被系統直接訪問。分區有兩種:一種是主分區;另一種是擴展分區,擴展分區通常不含系統文件,并可以分成若干個邏輯驅動器,相應的,分區表也分為主分區表和擴展分區表兩類。由于擴展分區又可分為許多邏輯分區,每個邏輯分區對應一個擴展分區表,因此有多少個邏輯分區就會有多少個擴展分區表。擴展分區表包含在擴展分區的第一扇區或邏輯驅動器“二級擴展分區”的第一扇區。

1.2.1 主分區表的結構

主分區表中最多可以包含4個分區表項,即最多可以將硬盤劃分成4個主分區,且每個主分區可以安裝不同的操作系統。一個分區表項為16B,它可以確定一個分區的邊界 、分區的類型和分區的大小(扇區數),分區表項的格式見圖1[1]。其中,表項的第一字節為引導標志,若該字節為80H則表示該分區為可引導的活動分區,若該字節為0則表示該分區為非活動分區,最多只能有1個分區為活動分區。

1.2.2 擴展分區表的結構

在擴展分區表所在扇區中沒有主引導程序,只有分區表,擴展分區表中只包含2項(32 B):第一項描述本邏輯分區的情況,另一項指向下一個邏輯驅動器的分區扇區的位置。主分區表和所有擴展分區表形成一個鏈表結構,即在主分區表中有一個分區表項指向第一擴展分區表,每個擴展分區表又有一個分區表項指向下一個擴展分區表。這樣在主引導扇區中僅需要存儲一個分區表項數據的擴展分區,通過這個擴展分區的數據可以找到下一個邏輯分區的起始位置,以此起始位置類推可以找到所有的邏輯分區。如圖2所示為擴展分區表結構示意圖[2]。

當移動硬盤首次接入操作系統時,需要進行高級格式化。這種高級格式化是按照擴展分區類進行的,因此移動硬盤將作為一個普通的邏輯分區加入到已有的擴展分區鏈表中;而且其上面分區數據的分布和硬盤上一個邏輯分區的數據分布一樣,都是擴展分區下面的一個邏輯分區,因此,移動硬盤可作為操作系統下面一個文件系統而存在。

2 技術原理及核心代碼

2.1 技術原理

移動存儲介質標識符應滿足以下要求:每個介質標識符要具有惟一性;標識符的存在不影響正常使用;標識符具有一定的耐久性,不會因正常的使用而去掉。要滿足第三條要求,標識符只能存儲在介質的系統區。理論分析表明,擴展分區表中分區表信息只占用前兩個分區表項,后面兩個分區表項暫時未用(32個字節),在對磁盤進行高級格式化時,這兩個分區表項的內容并不發生改變,是用來存放標識符的理想位置。

2.2 核心代碼

利用VC++實現對硬盤扇區數據的訪問,對其中空閑區域的數據進行修改,將移動介質標識符編寫進扇區,再將數據寫回到硬盤扇區。

2.2.1 訪問扇區數據

在Windows操作系統中采取訪問安全保護機制,如:不能直接訪問物理內存,不能使用各種DOS,BIOS中斷等。但在采取“實保護”措施的同時也提供了另外的一種有別于在DOS下訪問硬件設備的方法,允許按照對文件的讀寫方式對其進行數據存取訪問。在Windows下把所有的設備都當作文件進行操作。通過Windows API中提供的CreateFile()函數可以直接對磁盤扇區進行訪問。通過此接口函數,可以“打開”設備驅動程序,得到設備的句柄。與對串行端口的訪問類似,也需要用與文件存放路徑相類似的方式指出要操作的硬件設備(硬盤)。一般存儲設備的名稱是微軟規定好的,如:軟盤驅動器用A:,B:標識;邏輯驅動器用C:,D:,E:標識;而物理驅動器則用PHYSICALDRIVE X(X=0,1,2)標識;對于第一個物理驅動器,訪問格式為“\\\\.\\PHYSICALDRIVE 0”。如:需要對磁盤進行讀取操作,而他是第四個物理驅動器,則使用:HANDLE hDev=CreateFile(“\\\\.\\PHYSICALDRIVE 3”,…)。一般調用CreateFile獲得設備句柄時,訪問方式參數設置為0或GENERIC_READ|GENERIC_WRITE,共享方式參數設置為FILE_SHARE_READ|FILE_SHARE_WRITE,創建方式參數設置為OPEN_EXISTING,因為訪問的是已經存在的物理設備,其他參數設置為0或NULL。利用這樣的方法,就可以對分區扇區中的空閑字段數據進行訪問操作。

2.2.2 讀取與寫入扇區數據

當用CreateFile()函數訪問磁盤扇區后,采用hDev保存磁盤扇區的句柄,

下面就可以通過ReadFile()或WriteFile()函數實施相應的讀寫操作,具體操作與文件讀寫差別不大。最后,在完成訪問操作后,以CloseHandle()關閉文件句柄釋放資源,從而完成一次完整的磁盤扇區數據讀取與寫入操作。利用這種方法,標識符就可以保存在磁盤分區扇區分區表中的空閑字段,起到移動介質標識的作用。

2.2.3 關鍵代碼

關鍵代碼如下所示:

Int main(void)

{

HANDLE hDev=CreateFile("\\\\.\\PHYSICALDRIVEX",GENERIC_READ|GENERIC_WRITE,

FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);//打開分區扇區

if(hDev==INVALID_HANDLE_VALUE)

{

ExitProcess(0);

}

DWORD dwByte=512;

DWORD dwReadsize;

BOOL b_Ret;

LPTSTR lpsectBuff;

lpsectBuff=(LPTSTR)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,512);

b_Ret=ReadFile(hDev,lpsectBuff,dwByte,&dwReadsize;,NULL);//讀取分區扇區

if(b_Ret==FALSE||dwReadsize<512)

{

CloseHandle(hDev);

ExitProcess(0);

}

BYTE bSECT[512]={0};

for(int i=0;i<512;i++)

{

bSECT=lpsectBuff;

}

bSECT[0x185]=50;

bSECT[0x186]=51;

bSECT[0x187]=52;

bSECT[0x188]=53;

bSECT[0x189]=54;

bSECT[0x18A]=55;//嵌入12位標識符:505152535455到空閑字段

b_Ret=WriteFile(hDev,lpsectBuff,dwByte,&dwReadsize;,NULL);//將修改寫回扇區

if(b_Ret==FALSE||dwReadsize<512)

{

CloseHandle(hDev);

ExitProcess(0);

}

CloseHandle(hDev);

Return 1;

}

3 結 語

為了能惟一標識移動存儲介質,在此提出了一種新的標識方法,將具有惟一標識的移動介質標識符嵌入移動介質中分區表中的空閑字段,而在移動介質的正常使用中,對用戶完全透明,不會被用戶覺察。在高級格式化的操作中,這些寫入分區表中的信息也不會被重寫。在需要時,可以將嵌入的信息讀取出來。雖然這種方法是可行的,但考慮到如果對移動存儲介質進行低級格式化后,移動介質里的數據就會全部被清除,也包括標識,因此,在這一方面還需做進一步的研究,以便找到更好的標識方法。

參 考 文 獻

[1]蔣華龍,夏齡.大容量硬盤邏輯分區的隱藏與恢復[J].四川理工學院學報:自然科學版,2004,17(3):57-58.

[2]李為,劉嘉勇.一種基于分區引導扇區控制的移動存儲介質安全控制方法[J].成都信息工程學院學報,2007,22(1):92-97.

[3]袁建東,趙強,鄭見靈.Windows系統下FAT32分區信息分析與獲取方法[J].河北工業科技,2007,24(1):11-12.

[4]黃國盛,梁平元,周小清.Windows環境中分區表結構剖析與安全修復[J].吉首大學學報:自然科學版,2003,24(1):56-57.

[5]張載鴻,余永進,何渝,等.MS-DOS6技術精萃[M].北京:清華大學出版社,1994.74-93.

[6]佚名.VC++實現Win2000下直接讀寫磁盤扇區[EB/OL].http://www.VCZX.com/article/list.php,2004.

作者簡介 沈 瑜 女,1984年出生,陜西西安人,碩士研究生。主要研究方向為指揮自動化。

妙全興 男,1965年出生,陜西岐山人,副教授,研究生導師。主要研究方向為計算機網絡、信息安全。

主站蜘蛛池模板: a级毛片免费看| 亚洲国产成人精品一二区 | 亚洲—日韩aV在线| 久久公开视频| 精品成人一区二区三区电影 | 国产精品人人做人人爽人人添| 国产91丝袜| a级毛片免费网站| 天天躁日日躁狠狠躁中文字幕| 四虎永久在线精品影院| 国产欧美在线观看视频| 成人夜夜嗨| 美女裸体18禁网站| 福利小视频在线播放| 国产主播在线一区| 国产一国产一有一级毛片视频| 久久午夜夜伦鲁鲁片无码免费| 国产精品毛片在线直播完整版| 深爱婷婷激情网| 黑人巨大精品欧美一区二区区| 亚洲一区二区三区香蕉| 日韩精品少妇无码受不了| 99re经典视频在线| 99ri精品视频在线观看播放| 亚洲无码精彩视频在线观看 | 欧美日韩国产在线人成app| 国产精品蜜芽在线观看| 久久国产毛片| 一级一级一片免费| 三上悠亚一区二区| 欧美精品啪啪| 国产女人爽到高潮的免费视频 | 国产精品19p| 色偷偷男人的天堂亚洲av| 一区二区三区精品视频在线观看| 国产自视频| 国产精品免费p区| 欧洲欧美人成免费全部视频| 色网站免费在线观看| 91欧美在线| 99热这里只有精品2| 97在线免费| 午夜欧美在线| 国产美女精品一区二区| 亚洲无码91视频| 国产成人精品免费av| 六月婷婷精品视频在线观看| 欧美中文字幕一区| 小说区 亚洲 自拍 另类| 日韩黄色大片免费看| 欧美中文一区| 91啪在线| 免费无遮挡AV| 欧美成人免费一区在线播放| 国产成人精品男人的天堂下载 | 九色综合视频网| 久久综合丝袜日本网| 污污网站在线观看| 国产精品视频导航| 成人午夜网址| 日韩成人高清无码| 亚洲乱码在线视频| 亚洲毛片一级带毛片基地| 在线观看国产精品一区| 99在线观看视频免费| av免费在线观看美女叉开腿| 国产精品久久久久久影院| 欧美19综合中文字幕| 色综合婷婷| 国产在线观看第二页| 国产在线观看91精品亚瑟| 丁香婷婷久久| 毛片免费网址| 思思热在线视频精品| 人妻精品全国免费视频| 天天色综网| 中文字幕一区二区人妻电影| 亚洲欧美一级一级a| 亚洲第一区在线| 美女高潮全身流白浆福利区| 亚洲欧美自拍中文| 精品一区二区三区自慰喷水|