一種基于文件透明標(biāo)識(shí)的剪貼板控制方法
【專利摘要】本發(fā)明公開了一種基于文件透明標(biāo)識(shí)的剪貼板控制方法,包括如下內(nèi)容:當(dāng)用戶打開某個(gè)標(biāo)識(shí)文檔進(jìn)行復(fù)制或剪切時(shí),剪貼板API鉤子模塊獲取復(fù)制或剪切的操作行為,并調(diào)用文檔標(biāo)識(shí)中間件接口獲取文檔的標(biāo)識(shí),然后將標(biāo)識(shí)內(nèi)容一起添加到文檔中;當(dāng)用戶在目標(biāo)文件中進(jìn)行粘貼時(shí),通過剪貼板API鉤子模塊獲取到粘貼行為,并獲得源文件的標(biāo)識(shí)信息,然后調(diào)用剪貼板策略模塊判斷能否粘貼相應(yīng)的文件內(nèi)容,若能,則獲取真實(shí)粘貼內(nèi)容、將真實(shí)的文件內(nèi)容粘貼到目標(biāo)文件。與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果是:對(duì)剪貼板不單單只是禁用和啟用的簡(jiǎn)單控制,還可以根據(jù)策略進(jìn)行復(fù)雜控制。
【專利說明】一種基于文件透明標(biāo)識(shí)的剪貼板控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于文件透明標(biāo)識(shí)的剪貼板控制方法。
【背景技術(shù)】
[0002]目前對(duì)于剪貼板控制的實(shí)現(xiàn)方法有基于鍵盤HOOK的技術(shù)和單純的基于應(yīng)用程序API HOOK的技術(shù)。
[0003]鍵盤HOOK的技術(shù)是對(duì)鍵盤操作中可能出現(xiàn)的復(fù)制粘貼行為的操作做HOOK處理,例如常用的Ctrl+V,CtrI+X, Ctrl+C以及截屏鍵Print Scr Sysrq等進(jìn)行HOOK處理,雖然這種方法可以控制大多的復(fù)制粘貼行為,但是只對(duì)鍵盤操作有效,如果用戶通過別的方式,如專業(yè)的截屏軟件,則無法控制了。
[0004]單純的基于應(yīng)用程序API HOOK的技術(shù),對(duì)剪貼板相關(guān)的API進(jìn)行Η00Κ,雖然能夠控制所有經(jīng)過剪貼板的操作行為,但是只能單純的做到禁用和啟用兩種模式。
【發(fā)明內(nèi)容】
[0005]為了克服現(xiàn)有技術(shù)的上述缺點(diǎn),本發(fā)明提供了一種基于文件透明標(biāo)識(shí)的剪貼板控制方法,采用了應(yīng)用程序API Hook技術(shù)和跨進(jìn)程共享內(nèi)存技術(shù),通過應(yīng)用程序API Hook技術(shù)以及文件標(biāo)識(shí)技術(shù)的結(jié)合,實(shí)現(xiàn)了對(duì)文件內(nèi)容的復(fù)制粘貼進(jìn)行有效地控制。
[0006]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于文件透明標(biāo)識(shí)的剪貼板控制方法,包括如下內(nèi)容:當(dāng)用戶打開某個(gè)標(biāo)識(shí)文檔進(jìn)行復(fù)制或剪切時(shí),剪貼板API鉤子模塊獲取復(fù)制或剪切的操作行為,并調(diào)用文檔標(biāo)識(shí)中間件接口獲取文檔的標(biāo)識(shí),然后將標(biāo)識(shí)內(nèi)容一起添加到文檔中;當(dāng)用戶在目標(biāo)文件中進(jìn)行粘貼時(shí),通過剪貼板API鉤子模塊獲取到粘貼行為,并獲得源文件的標(biāo)識(shí)信息,然后調(diào)用剪貼板策略模塊判斷能否粘貼相應(yīng)的文件內(nèi)容,若能,則獲取真實(shí)粘貼內(nèi)容、將真實(shí)的文件內(nèi)容粘貼到目標(biāo)文件。
[0007]與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果是:
[0008]本發(fā)明方法是在使用應(yīng)用程序API HOOK技術(shù)的基礎(chǔ)上結(jié)合了另一種技術(shù)一一跨進(jìn)程共享內(nèi)存技術(shù),用這種技術(shù)實(shí)現(xiàn)對(duì)剪貼板控制策略的具體實(shí)現(xiàn),使其不單單只是禁用和啟用的簡(jiǎn)單控制,還可以根據(jù)策略進(jìn)行復(fù)雜控制。
[0009]運(yùn)用應(yīng)用程序API Hook技術(shù)捕獲文件內(nèi)容的復(fù)制粘貼操作行為比較準(zhǔn)確,且這種方法的實(shí)現(xiàn)較簡(jiǎn)單且穩(wěn)定,只需監(jiān)控幾個(gè)剪貼板API函數(shù)GetClipboardData和SetClipboardData,是目前實(shí)現(xiàn)復(fù)制粘貼控制的一種有效技術(shù)。采用這種技術(shù)不管用戶采用哪種方法復(fù)制粘貼,只要底層使用了剪貼板API函數(shù),就會(huì)被控制。
[0010]另外,本發(fā)明還使用了文檔標(biāo)識(shí)中間件獲取到標(biāo)識(shí)信息,在粘貼的時(shí)候用基于跨進(jìn)程共享內(nèi)存技術(shù)的方法獲取策略,根據(jù)策略判斷合法性并粘貼真實(shí)文件內(nèi)容。這種在復(fù)制時(shí)加入標(biāo)識(shí)內(nèi)容的實(shí)現(xiàn)是對(duì)復(fù)制粘貼控制技術(shù)的創(chuàng)新。用戶可以編輯自己想要的控制策略,然后通過文檔標(biāo)識(shí)中間件獲取標(biāo)識(shí)信息,傳遞給HOOK處理,實(shí)現(xiàn)對(duì)復(fù)制粘貼的復(fù)雜控制。
【專利附圖】
【附圖說明】
[0011]本發(fā)明將通過例子并參照附圖的方式說明,其中:
[0012]圖1為本發(fā)明的復(fù)制粘貼控制流程圖。
【具體實(shí)施方式】
[0013]一種基于文件透明標(biāo)識(shí)的剪貼板控制方法,其目的是用于對(duì)打過標(biāo)識(shí)的文檔的內(nèi)容進(jìn)行復(fù)制粘貼時(shí),附帶標(biāo)識(shí)信息到粘貼的文檔中,并根據(jù)標(biāo)識(shí)信息判斷是否能夠復(fù)制到目的文件中。
[0014]本發(fā)明的實(shí)現(xiàn)過程包含了以下幾種技術(shù):應(yīng)用程序API Hook技術(shù),跨進(jìn)程共享內(nèi)存技術(shù)。
[0015]如圖1所示,本發(fā)明包括剪貼板API鉤子模塊剪貼板策略模塊。具體實(shí)現(xiàn)的步驟如下:
[0016]用戶打開了某個(gè)標(biāo)識(shí)文檔,在復(fù)制時(shí)通過剪貼板API鉤子模塊獲取到復(fù)制或剪切的操作行為,在該模塊中調(diào)用文檔標(biāo)識(shí)中間件接口獲取文檔的標(biāo)識(shí),并將標(biāo)識(shí)內(nèi)容一起復(fù)制在文件內(nèi)容中;在目標(biāo)文件中進(jìn)行粘貼時(shí),通過剪貼板API鉤子模塊獲取到粘貼行為,在該模塊中得到源文件的標(biāo)識(shí)信息,并通過調(diào)用剪貼板策略模塊判斷是否能夠粘貼相應(yīng)的文件內(nèi)容,如果可以則獲取真實(shí)粘貼內(nèi)容、將真實(shí)的文件的內(nèi)容粘貼到目標(biāo)文件。
[0017]通過本發(fā)明的剪貼板API鉤子模塊可以實(shí)現(xiàn)在復(fù)制時(shí)帶入文件標(biāo)識(shí)內(nèi)容,在粘貼時(shí)判斷標(biāo)識(shí)并給出真實(shí)的文件內(nèi)容。
[0018]通過本發(fā)明的剪貼板策略模塊可以實(shí)現(xiàn)剪貼板策略的分發(fā),利用共享內(nèi)存技術(shù)將策略跨進(jìn)程分發(fā)給剪貼板API鉤子模塊,讓鉤子模塊獲取到具體的剪貼板策略,例如,文件粘貼的控制范圍,控制權(quán)限等。
[0019]將本發(fā)明方法用于文件標(biāo)識(shí)系統(tǒng)的客戶端中,客戶端安裝之后,擬定好剪貼板策略,如用戶能否將文件內(nèi)容從高安全性要求的文檔標(biāo)識(shí)文件拷入低安全性要求的文檔標(biāo)識(shí)文件,用戶本身是否具有復(fù)制粘貼的權(quán)限等??蛻舳烁鶕?jù)策略執(zhí)行控制。
【權(quán)利要求】
1.一種基于文件透明標(biāo)識(shí)的剪貼板控制方法,其特征在于:包括如下內(nèi)容:當(dāng)用戶打開某個(gè)標(biāo)識(shí)文檔進(jìn)行復(fù)制或剪切時(shí),剪貼板API鉤子模塊獲取復(fù)制或剪切的操作行為,并調(diào)用文檔標(biāo)識(shí)中間件接口獲取文檔的標(biāo)識(shí),然后將標(biāo)識(shí)內(nèi)容一起添加到文檔中;當(dāng)用戶在目標(biāo)文件中進(jìn)行粘貼時(shí),通過剪貼板API鉤子模塊獲取到粘貼行為,并獲得源文件的標(biāo)識(shí)信息,然后調(diào)用剪貼板策略模塊判斷能否粘貼相應(yīng)的文件內(nèi)容,若能,則獲取真實(shí)粘貼內(nèi)容、將真實(shí)的文件內(nèi)容粘貼到目標(biāo)文件。
2.根據(jù)權(quán)利要求1所述的一種基于文件透明標(biāo)識(shí)的剪貼板控制方法,其特征在于:所述剪貼板策略包括:用戶能否將文件內(nèi)容從高安全性要求的文檔標(biāo)識(shí)文件拷入低安全性要求的文檔標(biāo)識(shí)文件;用戶本身是否具有復(fù)制粘貼的權(quán)限、文件粘貼的控制范圍等。
3.根據(jù)權(quán)利要求1所述的一種基于文件透明標(biāo)識(shí)的剪貼板控制方法,其特征在于:采用共享內(nèi)存技術(shù)將剪貼板策略跨進(jìn)程分發(fā)給剪貼板API鉤子模塊。
【文檔編號(hào)】G06F17/24GK104360991SQ201410685882
【公開日】2015年2月18日 申請(qǐng)日期:2014年11月25日 優(yōu)先權(quán)日:2014年11月25日
【發(fā)明者】劉祥力, 劉慧
申請(qǐng)人:成都衛(wèi)士通信息安全技術(shù)有限公司