一種存儲設(shè)備中數(shù)據(jù)讀取的方法及裝置制造方法
【專利摘要】本發(fā)明適用于存儲設(shè)備的數(shù)據(jù)存儲【技術(shù)領(lǐng)域】,提供了一種存儲設(shè)備中數(shù)據(jù)讀取的方法及裝置,所述方法包括:修改存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表信息;在接收到讀取受保護(hù)數(shù)據(jù)的指令時,根據(jù)修改的所述輸入表信息,調(diào)用自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù),以使得所述函數(shù)通過私有命令讀取所述受保護(hù)數(shù)據(jù)。本發(fā)明在不需要取消存儲設(shè)備的防拷貝功能條件下,就可以直接讀取到存儲設(shè)備中的受保護(hù)數(shù)據(jù)。
【專利說明】一種存儲設(shè)備中數(shù)據(jù)讀取的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于存儲設(shè)備的數(shù)據(jù)處理【技術(shù)領(lǐng)域】,尤其涉及一種存儲設(shè)備中數(shù)據(jù)讀取的方法及裝置。
【背景技術(shù)】
[0002]現(xiàn)有的存儲設(shè)備,如U盤、SD卡、MMC卡、CF卡等為了防止某些受保護(hù)數(shù)據(jù)(例如GPS導(dǎo)航設(shè)備發(fā)行商提供的地圖數(shù)據(jù),學(xué)習(xí)機(jī)生廠商提供的學(xué)習(xí)數(shù)據(jù)或手機(jī)游戲發(fā)行商提供的游戲數(shù)據(jù)等)被未授權(quán)的用戶讀取或復(fù)制,損害所述受保護(hù)數(shù)據(jù)發(fā)行商的利益,因此現(xiàn)有的存儲設(shè)備通常都會帶有防拷貝功能。
[0003]然而,當(dāng)存儲設(shè)備的防拷貝功能被具有權(quán)限的用戶取消后,任何用戶又都可以讀取或復(fù)制存儲設(shè)備中的所述受保護(hù)數(shù)據(jù),影響存儲設(shè)備中受保護(hù)數(shù)據(jù)的安全。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例的目的在于提供一種存儲設(shè)備中數(shù)據(jù)讀取的方法及裝置,以解決現(xiàn)有技術(shù)需要通過取消存儲設(shè)備的防拷貝功能以進(jìn)行數(shù)據(jù)的讀取或復(fù)制,影響存儲設(shè)備中受保護(hù)數(shù)據(jù)安全的問題。
[0005]本發(fā)明實施例是這樣實現(xiàn)的,一種存儲設(shè)備中數(shù)據(jù)讀取的方法,所述方法包括:
[0006]修改存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表信息;
[0007]在接收到讀取受保護(hù)數(shù)據(jù)的指令時,根據(jù)修改的所述輸入表信息,調(diào)用自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù),以使得所述函數(shù)通過私有命令讀取所述受保護(hù)數(shù)據(jù)。
[0008]本發(fā)明實施例的另一目的在于提供一種存儲設(shè)備中數(shù)據(jù)讀取的裝置,所述裝置包括:
[0009]信息修改單元,用于修改存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表信息;
[0010]數(shù)據(jù)讀取單元,用于在接收到讀取受保護(hù)數(shù)據(jù)的指令時,根據(jù)修改的所述輸入表信息,調(diào)用自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù),以使得所述函數(shù)通過私有命令讀取所述受保護(hù)數(shù)據(jù)。
[0011]本發(fā)明實施例的再一目的在于提供一種閃存存儲設(shè)備,所述閃存存儲設(shè)備包括所述存儲設(shè)備中數(shù)據(jù)讀取的裝置。
[0012]本發(fā)明實施例與現(xiàn)有技術(shù)相比存在的有益效果是:本發(fā)明實施例通過修改存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表信息,一方面,使文件讀取應(yīng)用程序在執(zhí)行的過程中可以調(diào)用自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù),而所述自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù)可以通過私有命令,讀取受保護(hù)數(shù)據(jù)對應(yīng)的物理扇區(qū)集合中的數(shù)據(jù),從而在不需要取消存儲設(shè)備的防拷貝功能條件下,就可以直接讀取到所述受保護(hù)數(shù)據(jù),使得帶有防拷貝功能的存儲設(shè)備具備了一種更加簡單、方便、安全的讀取受保護(hù)數(shù)據(jù)的功能。另一方面,通過修改存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表信息,使得文件讀取應(yīng)用程序在執(zhí)行的過程中可以直接調(diào)用自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù),不需要對所述文件讀取應(yīng)用程序重新編譯,即可以在不知道所述文件讀取應(yīng)用程序代碼的情況下修改其功能,具有較強(qiáng)的易用性和實用性。
【專利附圖】
【附圖說明】
[0013]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0014]圖1是本發(fā)明實施例一提供的存儲設(shè)備中數(shù)據(jù)讀取方法的實現(xiàn)流程圖;
[0015]圖2是本發(fā)明實施例二提供的存儲設(shè)備中數(shù)據(jù)讀取裝置的組成結(jié)構(gòu)圖;
[0016]圖3是本發(fā)明實施例三提供的存儲設(shè)備的組成結(jié)構(gòu)圖。
【具體實施方式】
[0017]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0018]為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進(jìn)行說明。
[0019]實施例一:
[0020]圖1示出了本發(fā)明實施例一提供的閃存存儲設(shè)備中數(shù)據(jù)管理方法的實現(xiàn)流程,該方法過程詳述如下:
[0021]在步驟SlOl中,修改存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表信息。
[0022]在本實施例中,所述文件讀取應(yīng)用程序為EXE文件,所述輸入表為所述文件讀取應(yīng)用程序的文件結(jié)構(gòu)的一部分,所述輸入表中記錄有動態(tài)鏈接庫(Dynamic Link Library,DLL)文件的導(dǎo)入函數(shù)地址。需要說明的是,根據(jù)所述導(dǎo)入函數(shù)地址導(dǎo)入的函數(shù)不會直接被執(zhí)行,只有當(dāng)所述文件讀取應(yīng)用程序映射到主機(jī)系統(tǒng)的內(nèi)存后,主機(jī)系統(tǒng)的操作系統(tǒng)將相應(yīng)的DLL文件導(dǎo)入,所述文件讀取應(yīng)用程序通過所述輸入表查找到相應(yīng)的DLL文件中的導(dǎo)入函數(shù)并且調(diào)用執(zhí)行,從而完成程序的正常運(yùn)行。
[0023]其中,所述主機(jī)系統(tǒng)為可存儲數(shù)據(jù)的任意系統(tǒng),例如電腦系統(tǒng)、數(shù)碼相機(jī)、攝影機(jī)、通信裝置、音訊播放器、視訊播發(fā)器等系統(tǒng)。所述主機(jī)系統(tǒng)通過其數(shù)據(jù)傳輸接口與所述存儲設(shè)備連接。
[0024]本實施例所述修改存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表信息,具體是指將存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表中的動態(tài)鏈接庫DLL文件導(dǎo)入函數(shù)地址修改為所述自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù)地址,以使得所述文件讀取應(yīng)用程序在執(zhí)行過程中,可以根據(jù)修改后的輸入表信息調(diào)用執(zhí)行自定義的函數(shù)。由于修改后的所述文件讀取應(yīng)用程序映射到內(nèi)存后,所述文件讀取應(yīng)用程序通過修改后的所述輸入表找到相應(yīng)的自定義函數(shù)并且調(diào)用執(zhí)行,可以不需要對所述文件讀取應(yīng)用程序重新編譯,即可以在不知道所述文件讀取應(yīng)用程序代碼的情況下修改其功能。
[0025]在步驟S102中,在接收到讀取受保護(hù)數(shù)據(jù)的指令時,根據(jù)修改的所述輸入表信息,調(diào)用自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù),以使得所述函數(shù)通過私有命令讀取所述受保護(hù)數(shù)據(jù)。
[0026]本實施例所述函數(shù)通過私有命令讀取所述受保護(hù)數(shù)據(jù)具體包括:
[0027]A、根據(jù)受保護(hù)數(shù)據(jù)所在文件的當(dāng)前讀取位置指針和讀取數(shù)據(jù)長度,獲取待讀取的受保護(hù)數(shù)據(jù)對應(yīng)的文件簇集合;
[0028]在文件系統(tǒng)中,一個文件是由文件配置表(File Allocation Table,F(xiàn)AT)中標(biāo)記的一個或多個簇組成的,各個簇之間可能不連續(xù),形成簇鏈結(jié)構(gòu),如:首簇_>下一個簇_>下一個簇_>最后一個簇。一般而言,一個扇區(qū)的大小為512字節(jié),文件系統(tǒng)會把連續(xù)的一個或多個扇區(qū)視為一個簇,即一個簇的大小為一個或多個扇區(qū)的大小。
[0029]假設(shè)該FAT文件系統(tǒng)以2個扇區(qū)視為一個簇,F(xiàn)AT文件系統(tǒng)的數(shù)據(jù)區(qū)是以編號為201的扇區(qū)開始。那么,該FAT文件系統(tǒng)結(jié)構(gòu)中的數(shù)據(jù)區(qū)域如表1所示。
[0030]
【權(quán)利要求】
1.一種存儲設(shè)備中數(shù)據(jù)讀取的方法,其特征在于,所述方法包括: 修改存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表信息; 在接收到讀取受保護(hù)數(shù)據(jù)的指令時,根據(jù)修改的所述輸入表信息,調(diào)用自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù),以使得所述函數(shù)通過私有命令讀取所述受保護(hù)數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述修改存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表信息包括: 將存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表中的動態(tài)鏈接庫文件導(dǎo)入函數(shù)地址修改為所述自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù)地址。
3.如權(quán)利要求1所述的方法,其特征在于,所述函數(shù)通過私有命令讀取所述受保護(hù)數(shù)據(jù)包括: 根據(jù)受保護(hù)數(shù)據(jù)所在文件的當(dāng)前讀取位置指針和讀取數(shù)據(jù)長度,獲取待讀取的受保護(hù)數(shù)據(jù)對應(yīng)的文件簇集合; 根據(jù)所述文件簇集合,在文件配置表的數(shù)據(jù)區(qū)域內(nèi)查找所述待讀取的受保護(hù)數(shù)據(jù)對應(yīng)的物理扇區(qū)集合; 通過私有命令從查找到的所述物理扇區(qū)集合中讀取所述受保護(hù)數(shù)據(jù),并將讀取到的所述受保護(hù)數(shù)據(jù)復(fù)制到主機(jī)系統(tǒng)預(yù)定的緩存區(qū)域。
4.如權(quán)利要求1至3任一項所述的方法,其特征在于,所述私有命令包含寫受保護(hù)數(shù)據(jù)的物理扇區(qū)地址接口。
5.一種存儲設(shè)備中數(shù)據(jù)讀取的裝置,其特征在于,所述裝置包括: 信息修改單元,用于修改存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表信息; 數(shù)據(jù)讀取單元,用于在接收到讀取受保護(hù)數(shù)據(jù)的指令時,根據(jù)修改的所述輸入表信息,調(diào)用自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù),以使得所述函數(shù)通過私有命令讀取所述受保護(hù)數(shù)據(jù)。
6.如權(quán)利要求5所述的裝置,其特征在于,所述信息修訂單元具體用于: 將存儲設(shè)備的文件讀取應(yīng)用程序?qū)?yīng)的輸入表中的動態(tài)鏈接庫文件導(dǎo)入函數(shù)地址修改為所述自定義的讀取受保護(hù)數(shù)據(jù)的函數(shù)地址。
7.如權(quán)利要求6所述的裝置,其特征在于,所述數(shù)據(jù)讀取單元包括: 文件簇讀取模塊,用于根據(jù)受保護(hù)數(shù)據(jù)所在文件的當(dāng)前讀取位置指針和讀取數(shù)據(jù)長度,獲取待讀取的受保護(hù)數(shù)據(jù)對應(yīng)的文件簇集合; 查找模塊,用于根據(jù)所述文件簇集合,在文件配置表的數(shù)據(jù)區(qū)域內(nèi)查找所述待讀取的受保護(hù)數(shù)據(jù)對應(yīng)的物理扇區(qū)集合; 數(shù)據(jù)讀取模塊,用于通過私有命令從查找到的所述物理扇區(qū)集合中讀取所述受保護(hù)數(shù)據(jù),并將讀取到的所述受保護(hù)數(shù)據(jù)復(fù)制到主機(jī)系統(tǒng)預(yù)定的緩存區(qū)域。
8.如權(quán)利要求5至7任一項所述的裝置,其特征在于,所述私有命令包含寫受保護(hù)數(shù)據(jù)的物理扇區(qū)地址接口。
9.一種存儲設(shè)備,其特征在于,所述存儲設(shè)備包括權(quán)利要求5至8任一項所述的存儲設(shè)備中數(shù)據(jù)讀取的裝置。
【文檔編號】G06F12/14GK103617135SQ201310611181
【公開日】2014年3月5日 申請日期:2013年11月26日 優(yōu)先權(quán)日:2013年11月26日
【發(fā)明者】豆威 申請人:深圳市江波龍電子有限公司