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

基于捆綁式的文件加密技術(shù)及實(shí)現(xiàn)

2012-08-15 00:49:04王小剛
關(guān)鍵詞:程序用戶

王小剛

(山西水利職業(yè)技術(shù)學(xué)院,山西 太原 030027)

現(xiàn)在大部分的加密軟件只是針對(duì)某種特殊的文件進(jìn)行處理,并且只是使用簡(jiǎn)單的加密手段,很容易被解密者破解;有一些高強(qiáng)度的加密軟件要求有昂貴硬件設(shè)備予以支持,這樣加密后的文件很不方便在別的機(jī)器上對(duì)文件進(jìn)行解密操作;還有一些加密軟件是在利用系統(tǒng)的漏洞進(jìn)行加密,一旦這些漏洞被修補(bǔ),極易造成文件的丟失。

計(jì)算機(jī)病毒是指編制者在計(jì)算機(jī)程序中插入的破壞計(jì)算機(jī)功能或者破壞數(shù)據(jù),影響計(jì)算機(jī)使用并且能夠自我復(fù)制的一組計(jì)算機(jī)指令或者程序代碼。試想可以用計(jì)算機(jī)病毒的原理,把插入的破壞計(jì)算機(jī)功能或數(shù)據(jù)的代碼換成具有解密特定數(shù)據(jù)能力的代碼,被注入病毒的文件可以看作是已加密好的數(shù)據(jù),重新排列解密代碼和被加密數(shù)據(jù)的位置,只要有執(zhí)行能力的代碼可以引導(dǎo)數(shù)據(jù)正確的解密,那么這種方法是行得通的。而且被加密的數(shù)據(jù)看成了一個(gè)整體,使用時(shí)將加密文件分離,這樣就不會(huì)有特定文件類型的限制了,再在這個(gè)基礎(chǔ)上輔以特定的加密算法,就可以對(duì)文件進(jìn)行更強(qiáng)的保護(hù)了,杜絕了上面所屬加密方法的不足。

由于是將具有執(zhí)行能力的文件注入到已加密好的文件中,運(yùn)行時(shí)將它們分離,我們就把這種方法叫做捆綁的方法。利用這種方法就可以對(duì)文件進(jìn)行加密了。

捆綁是將幾個(gè)東西用繩索等綁在一起,用在軟件中就是這樣的:想實(shí)現(xiàn)運(yùn)行一個(gè)文件同時(shí)運(yùn)行其他多個(gè)文件,必須要把多個(gè)文件“組合”成一個(gè)文件,而這一個(gè)文件還必須有“分解”的能力,這樣才能把捆綁起來(lái)的文件分離出來(lái),使之正常運(yùn)行。而“組合”也可以有多種形式,比如把要捆綁的文件一個(gè)一個(gè)地加到文件末尾,或者以資源形式組合到一個(gè)文件中,還有復(fù)雜一點(diǎn)的利用專用的安裝打包工具組合。基于捆綁式的文件加密使用的是第一種組合方式,也稱為傳統(tǒng)式捆綁機(jī)。

這里把起捆綁并加密文件作用的程序叫做加密程序,它是一個(gè)可執(zhí)行文件;要加密的文件經(jīng)加密程序加

一、捆綁

密后捆綁在事先寫好的具有解密能力的解密程序文件尾部,此時(shí)的文件稱為解密程序,具有解密引導(dǎo)功能的程序稱為解密引導(dǎo)程序。解密時(shí),先執(zhí)行具有解密能力的解密程序,從自身中分離出捆綁的那個(gè)需要解密的文件。

1.軟件設(shè)計(jì)

如何保護(hù)自己的文件不被非授權(quán)盜用的問(wèn)題,始終困擾著每一個(gè)人。現(xiàn)在市面上充斥著各式各樣的加密軟件,用這些加密軟件可以加密用戶的文件,它通常是將待加密的文件作為純數(shù)據(jù)處理,加密后還需一個(gè)特定的解密軟件來(lái)針對(duì)這個(gè)加密后的文件進(jìn)行解密,這樣做的缺點(diǎn)是顯而易見(jiàn)的:解密時(shí)需要解密程序存在,不易于在未裝有解密程序的平臺(tái)上解密,通用性差,一旦解密程序丟失,加密后的文件是難以恢復(fù)的;大量的加密軟件僅僅是針對(duì)PE可執(zhí)行文件的,使得許多的其他文件沒(méi)法保護(hù);另外,還有些軟件對(duì)數(shù)據(jù)的加密是利用系統(tǒng)的漏洞,這樣對(duì)數(shù)據(jù)是很不全的。這里通過(guò)捆綁的方法將解密程序同加密的數(shù)據(jù)作為一個(gè)整體,加密后的文件將生成一個(gè)可執(zhí)行文件,而不是一個(gè)單純的數(shù)據(jù)亂碼,單純的數(shù)據(jù)很難判斷自身是否完整,這樣就使用戶確定文件的完整。當(dāng)文件使用時(shí),要求用戶擁有正確的密碼,開(kāi)始使用時(shí)能夠和使用普通文件一樣使用,使用完畢以后該文件依然保持加密狀態(tài),下次使用依然需要輸入密碼,解除了重復(fù)加解密的過(guò)程。

2.捆綁式加密技術(shù)實(shí)現(xiàn)語(yǔ)言及需解決的問(wèn)題

Visual Basic軟件的功能極為強(qiáng)大,深受程序員喜歡。VB的P-code方式編譯的程序很難破解,因?yàn)槲覀兏櫽眠@種方式編譯的程序時(shí),看不到程序作者寫的程序,只能看到VB的程序,我們只能在微軟設(shè)計(jì)好的VB程序里面兜圈子,但是在兜圈子的過(guò)程中,作者的程序已經(jīng)在執(zhí)行了,并且由于它的開(kāi)發(fā)速度快,適合于捆綁式文件加密技術(shù)的實(shí)現(xiàn)。

實(shí)現(xiàn)捆綁式的文件加密方法,需解決的幾個(gè)問(wèn)題:(1)如何加入密碼檢測(cè);(2)如何隱藏文件密碼;(3)

二、軟件環(huán)境及需求

對(duì)正常用戶而言,不應(yīng)造成使用不便。

3.運(yùn)行需求

正常使用時(shí)不應(yīng)出錯(cuò),若運(yùn)行時(shí)遇到不可恢復(fù)的系統(tǒng)錯(cuò)誤,也必須保證數(shù)據(jù)完好無(wú)損,要求系統(tǒng)運(yùn)行時(shí)能夠保證正確性、可靠性。

三、詳細(xì)設(shè)計(jì)

(一)加密程序設(shè)計(jì)

1.用戶界面設(shè)計(jì)

基于捆綁式的文件加密程序采用了易上手的向?qū)浇缑妫瑩碛休^強(qiáng)的交互性。用戶依照步驟瀏覽找到待加密的文件,指定加密后文件的存儲(chǔ)位置以及文件名,最后設(shè)置文件的密碼。在用戶輸入密碼時(shí),軟件系統(tǒng)將自動(dòng)判斷密碼的強(qiáng)度,這樣可以幫助用戶選擇合適強(qiáng)度的密碼。

2.加密過(guò)程實(shí)現(xiàn)

當(dāng)用戶選擇好加密的文件和加密后的文件位置之后,并輸入要設(shè)置的密碼后就可以進(jìn)行程序的加密了。程序加密時(shí),首先將要加密的文件以二進(jìn)制的形式讀入一個(gè)文件大小的p1Array緩沖中,然后以用戶輸入的密碼作密匙對(duì)數(shù)組p1Array用事先寫好的算法進(jìn)行數(shù)據(jù)加密,加密后的數(shù)據(jù)仍放在數(shù)組p1Array中。為了日后解密的方便,將解密引導(dǎo)程序放在p1Array的前面,用捆綁的形式,在我們運(yùn)行解密程序時(shí)就可以對(duì)附在后面的數(shù)據(jù)文件進(jìn)行解密了。為了達(dá)到跨機(jī)運(yùn)行,就不得不把密碼寫入加密后的文件中,這里為了演示清楚,以“[Password]”為密碼存放開(kāi)始的標(biāo)志,將加密后的密碼信息放在“[Password]”后面,這樣還不夠,將來(lái)解密文件后,仍要保持文件的類型,將文件的擴(kuò)展名放在“[FN]”后面,最后將解密引導(dǎo)程序+加密后的文件數(shù)據(jù)+[Password]+加密后的密碼+[FN]+未加密的文件擴(kuò)展名保存為加密后的文件的尾部。

3.密碼加密的保存

若將密碼以明文的形式保存在加密文件中,很容易通過(guò)查看加密文件獲得密碼,那么這樣對(duì)加密文件是十分危險(xiǎn)的,我們就必須對(duì)密碼進(jìn)行加密保存。這里用MD5對(duì)密碼進(jìn)行加密,這樣做的好處是它將產(chǎn)生一個(gè)固定長(zhǎng)度為128位的信息摘要,有利于解密時(shí)密碼正確與否的判斷。

4.加密后加密文件完整性的判斷

加密后的文件很容易被那些破解者通過(guò)文件編輯器編輯,修改特定的代碼,以達(dá)到破解的目的,那么就必須預(yù)防這種破解手段,實(shí)現(xiàn)軟件代碼校驗(yàn),以防止被修改,比如用CRC或者M(jìn)D5進(jìn)行自身代碼完整性檢測(cè)。加密程序是加密文件的程序,同時(shí)也是一個(gè)用于在文件末尾增加stCRC特征碼的程序。特征碼用于保存所需的校驗(yàn)標(biāo)志位和校驗(yàn)碼信息,在解密時(shí)將判斷校驗(yàn)信息,經(jīng)過(guò)這一處理,修改任何一處,解密軟件運(yùn)行后會(huì)自動(dòng)退出,給用戶程序沒(méi)有運(yùn)行的假象,對(duì)于校驗(yàn)信息的判斷將在解密引導(dǎo)程序中討論。

(二)解密引導(dǎo)程序設(shè)計(jì)

1.用戶界面及解密過(guò)程

因?yàn)榧用芎蟮奈募强蓤?zhí)行的,只要雙擊就進(jìn)入到了解密程序的引導(dǎo)界面,在這個(gè)界面中完成密碼驗(yàn)證工作。當(dāng)用戶輸入正確的解密密碼后就會(huì)觸發(fā)文件的解密的事件。解密程序從自身的程序中分解出經(jīng)加密后的文件數(shù)據(jù),然后把這些數(shù)據(jù)放入緩沖vbArray中,再對(duì)這一緩沖數(shù)組進(jìn)行解密,最后將解密后的數(shù)據(jù)寫入預(yù)定的文件。在加密程序的設(shè)計(jì)中,已經(jīng)對(duì)加密后的文件引入了文件完整性的校驗(yàn)標(biāo)志,那么解密程序執(zhí)行時(shí),首先就要判斷文件是否完整,如果校驗(yàn)信息與標(biāo)志不一致,就停止解密以保證數(shù)據(jù)安全。

2.加密文件的進(jìn)一步保護(hù)

通過(guò)加密程序加密后的文件,它的加密強(qiáng)度還不是很強(qiáng)。由于解密引導(dǎo)程序同被加密的數(shù)據(jù)是捆綁在一起的,要保護(hù)加密的數(shù)據(jù),就還要對(duì)解密引導(dǎo)程序進(jìn)行一些安全處理,以防破解者通過(guò)跟蹤解密引導(dǎo)程序的方法得知解密密碼,所以對(duì)加密文件的進(jìn)一步保護(hù)就等同于對(duì)解密引導(dǎo)程序的保護(hù)。以下是筆者對(duì)解密引導(dǎo)程序設(shè)計(jì)的一些保護(hù)方法:

(1)反調(diào)試Anti-Debug

檢測(cè)父進(jìn)程反RING3調(diào)試器,我們知道WIN32系統(tǒng)一般軟件的父進(jìn)程都是EXPLORE,而OllyDbg等RING3調(diào)試器對(duì)軟件進(jìn)行調(diào)試時(shí)都是將它們的進(jìn)程設(shè)為它的子進(jìn)程,我們只要讓程序檢查父進(jìn)程是否為EXPLORE.EXE就行,如果發(fā)現(xiàn)父進(jìn)程不是EXPLORE.EXE,就自動(dòng)退出。

(2)反靜態(tài)反匯編

對(duì)加密程序和解密引導(dǎo)程序加殼,增加程序的安全性,就會(huì)使靜態(tài)反匯編程序不能對(duì)程序進(jìn)行匯編,從而保護(hù)代碼不被泄漏。

四、使用說(shuō)明及測(cè)試

(一)使用說(shuō)明

該軟件能在WindowsXP以及以上的WINDOWS操作系統(tǒng)平臺(tái)下運(yùn)行,由于Windows操作系統(tǒng)使用的廣泛性,使得這一方法可以被廣泛地使用。它可以對(duì)任何想加密的文件(*.txt)、圖像文件(*.jpg,*.gif,*.bmp)、音樂(lè)文件、可執(zhí)行文件等幾乎一切的文件進(jìn)行加密。也就是說(shuō),你可以用它對(duì)各種文件進(jìn)行加密,文本文件軟件使你要加密的文件最終生成一個(gè)可執(zhí)行文件,當(dāng)文件使用時(shí),要求您輸入正確的密碼,文件使用時(shí)和使用普通文件一樣使用該文件,使用完畢以后該文件依然保持加密狀態(tài),下次使用依然需要輸入密碼,該軟件解除了需要重復(fù)加解密的過(guò)程。

軟件充分考慮了用戶的操作,通過(guò)簡(jiǎn)單幾步的界面選擇便可以達(dá)到加密文件的目的。

(二)測(cè)試分析及效果

1.用加密程序Server加密WINDOWS自帶的記事本Notepad.exe后的生成的文件記為NotepadJM.exe,運(yùn)行加密后的文件并輸入正確的密碼可以成功地解密,并運(yùn)行程序,軟件基本功能實(shí)現(xiàn)。

2.用Ultra Edit打開(kāi)NotepadJM.exe文件,任意修改一個(gè)字節(jié),然后運(yùn)行該程序,一旦運(yùn)行程序退出,程序的完整性檢查成功。

3.用目前流行的OllyDBG動(dòng)態(tài)調(diào)試工具加載并運(yùn)行NotepadJM.exe,調(diào)試器運(yùn)行并使EIP指針轉(zhuǎn)到結(jié)束代碼,使得無(wú)法跟蹤軟件的解密過(guò)程,程序的反動(dòng)態(tài)調(diào)試成功。

[1][美]Bruce Schneier.應(yīng)用密碼學(xué)[M].吳世忠,祝世雄,張文政,等譯.北京:機(jī)械工業(yè)出版社,2000.

[2]武新華.加密解密全攻略(第3版)[M].北京:中國(guó)鐵道出版社,2010.

[3][美]Collberg,C.軟件加密與解密[M].北京:人民郵電出版社,2012.

[4]李良俊.Visual-Basic程序設(shè)計(jì)語(yǔ)言[M].北京:科學(xué)出版社,2011.

猜你喜歡
程序用戶
試論我國(guó)未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
Camera360:拍出5億用戶
100萬(wàn)用戶
主站蜘蛛池模板: 18禁高潮出水呻吟娇喘蜜芽| 国产精品久久久久久久久| 综合社区亚洲熟妇p| 国产精品久久久久久搜索| 国产精品手机视频一区二区| 热久久这里是精品6免费观看| 国产美女人喷水在线观看| 亚洲免费福利视频| 97se综合| 暴力调教一区二区三区| 国产在线八区| 国产精品污污在线观看网站| 欧美精品一区二区三区中文字幕| 亚洲自偷自拍另类小说| 国产精品尤物铁牛tv| 亚洲视屏在线观看| 女人一级毛片| 国产美女一级毛片| 色综合五月| 黄色网页在线播放| 久久婷婷国产综合尤物精品| 亚洲高清在线天堂精品| 欧美色综合网站| 国产精品福利在线观看无码卡| 亚洲欧美不卡视频| 成人午夜天| 国产1区2区在线观看| 91精品免费高清在线| 国产成人高清在线精品| 在线看AV天堂| 中国精品久久| 精品久久久久久久久久久| 中文字幕av无码不卡免费| 国产在线一区视频| 丁香六月综合网| 永久天堂网Av| 四虎影视无码永久免费观看| 2021最新国产精品网站| 国产伦片中文免费观看| 在线欧美国产| 亚洲av片在线免费观看| 欧洲精品视频在线观看| 久久青草免费91观看| 乱系列中文字幕在线视频| 亚洲日本中文字幕天堂网| 亚洲免费人成影院| 茄子视频毛片免费观看| 尤物在线观看乱码| 免费全部高H视频无码无遮掩| 最新国产高清在线| 波多野结衣爽到高潮漏水大喷| 91最新精品视频发布页| 国产亚洲高清视频| 亚洲综合中文字幕国产精品欧美| 日韩国产无码一区| 亚洲欧美自拍中文| 亚洲人成影院在线观看| 999精品免费视频| 欧美日韩高清在线| 国产亚洲精品资源在线26u| 日本一区中文字幕最新在线| 国产精品午夜电影| 91原创视频在线| 国产福利拍拍拍| 欧美不卡视频一区发布| 国产精品30p| 国产欧美日韩一区二区视频在线| 亚洲一本大道在线| 欧美一区福利| 日韩国产欧美精品在线| 无码人中文字幕| 久久精品波多野结衣| 青青青伊人色综合久久| 日韩最新中文字幕| 婷婷六月激情综合一区| 亚洲人成亚洲精品| www精品久久| 亚洲欧美自拍中文| 久久久精品国产亚洲AV日韩| 91破解版在线亚洲| 伊人天堂网| 凹凸精品免费精品视频|