《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于加解殼技術(shù)的防病毒保護(hù)殼

基于加解殼技術(shù)的防病毒保護(hù)殼

2009-05-19
作者:馮 敏,田繼東

??? 摘 要:計算機(jī)病毒發(fā)展日新月異,而殺毒軟件的產(chǎn)生存在滯后性。也就是說,借助現(xiàn)有的殺毒軟件檢測系統(tǒng)是否感染了新現(xiàn)病毒是件比較棘手的事。本文基于加、解殼原理和病毒運行流程,提出了一種新的判斷方法。首先對干凈文件加防病毒保護(hù)殼,待運行該文件時,文件自動解殼判斷是否已感染病毒,并進(jìn)行相應(yīng)處理,最后用Delphi編程實現(xiàn),同時利用該WinHex查看加殼后的結(jié)果。實踐證明,該保護(hù)殼具有可用性
??? 關(guān)鍵詞:加、解殼原理;病毒運行流程;防病毒保護(hù)殼;Delphi

?

??? 自然界中植物用殼來保護(hù)種子,動物用殼來保護(hù)身體。同樣,在一些計算機(jī)軟件里也有一段專門負(fù)責(zé)保護(hù)軟件不被非法修改或反編譯的程序。它們一般都是先于程序運行,拿到控制權(quán)。就像動植物的殼一般都是在身體外面一樣理所當(dāng)然。從功能上看,軟件的殼和自然界中的殼相差無幾,無非是保護(hù)、隱蔽殼內(nèi)的東西,而從技術(shù)的角度出發(fā),殼是一段執(zhí)行于原始程序前的代碼。本設(shè)計所涉及的防病毒保護(hù)殼,就其本質(zhì)來看就是一種“良性病毒”,它保護(hù)軟件,提醒用戶“可能感染了某種病毒”。
1 設(shè)計思路
??? 校驗法是對正常文件的內(nèi)容,計算其校驗和,將該校驗和寫入文件中或?qū)懭肫渌募斜4妗T谖募褂眠^程中,定期地或每次使用文件前檢查文件現(xiàn)在內(nèi)容算出的校驗和與原來保存的校驗和是否一致,因而可以發(fā)現(xiàn)文件是否感染。但是由于病毒感染,修改了文件的某些信息,可能導(dǎo)致文件不能正常運行。所以,校驗法僅能較好地檢測病毒,而不能保護(hù)正常文件。
??? 本文設(shè)計的防病毒保護(hù)“殼”,其基本思想和校驗法相似,并在某些方面進(jìn)行了改進(jìn)。
??? 防病毒保護(hù)“殼”的本質(zhì)是一種良性“病毒”。它和病毒在某些方面有點類似,都在宿主程序運行之前獲取控制權(quán)。但是,它對宿主程序沒有破壞性。而病毒感染文件主要表現(xiàn)為文件的文件名、路徑名或文件大小(病毒附著在被感染文件上)的改變或其他相關(guān)變化。為此,設(shè)計了一種防病毒保護(hù)殼,它能判斷文件相關(guān)屬性的變化,能完成自動脫“殼”功能。
2 具體實現(xiàn)步驟
??? 當(dāng)文件(PE文件)未被感染前,就給它加防病毒保護(hù)“殼”。
??? 設(shè)保護(hù)殼大小C,加殼標(biāo)記和感染標(biāo)記均為4個字節(jié),加殼前文件路徑和文件名為A1、大小為A2。
??? 當(dāng)運行加殼后的文件(路徑和文件名為E1、大小為E2)時,若被病毒體感染,該病毒體剝離出文件(如圖1、圖2所示),并運行之。剝離出的文件運行時,保護(hù)殼首先獲得控制權(quán),比較E1與A1,E2與(A2+C+4)是否相等。倘若E1與A1不等,可能是某種病毒對加殼文件進(jìn)行了移動操作;倘若,E2與(A2+C+4)不等,可能是因為其他的病毒將加殼后的文件進(jìn)行“包裹”,這時彈出“發(fā)現(xiàn)可疑病毒”;若相等,則剝離出原文件,然后創(chuàng)建一個新的進(jìn)程運行之,運行完畢后自動終止自己。

?

3 具體測試
3.1 防病毒保護(hù)殼測試

??? 對“F:calc.exe”加殼后運行。
??? 測試中需要使用16進(jìn)制觀察器WinHex.查看加殼后的結(jié)果。
??? 從圖3可以得出被加殼的文件名為F:calc.exe,大小為0001C000H(即114 688字節(jié)),加殼標(biāo)記為66666666H。加殼后的文件大小為7CC6BH字節(jié)。

?

?

??? 雙擊運行加殼后文件的截圖如圖4所示,若加殼后文件的路徑、名字改變,雙擊運行時會提示“發(fā)現(xiàn)可疑病毒”,可能是被某些病毒“搬移”了。為了看到效果,我便人為地改變了加殼后的文件路徑,如圖5所示。

?

?

?

3.2 UPX壓縮文件測試
??? 選用UPX壓縮工具的主要目的是壓縮防病毒保護(hù)殼(AddShell.exe)。另外,在一定程度上能保護(hù)該“殼”,防止被惡意竊取或修改。防病毒保護(hù)殼壓縮前、后截如圖6、圖7所示,圖8、圖9分別為利用壓縮后的“殼”處理文件及利用未壓縮“殼”處理文件后情況。

?

?

?

?

?

??? 從圖9觀察得出,使用未壓縮殼處理calc.exe后文件大小為207 KB,而使用壓縮殼處理后卻變?yōu)榱?55 KB,達(dá)到了預(yù)期的效果。
??? 防病毒保護(hù)殼的優(yōu)點為它既可以發(fā)現(xiàn)已知病毒又可以發(fā)現(xiàn)未知病毒,在一定程度上起到保護(hù)軟件不被非法修改、提醒用戶及時查殺病毒等作用。
??? 缺點是病毒感染并非文件相關(guān)信息(路徑名、文件名、大小)改變的惟一的非他性原因,有可能是正常程序引起的,所以,該防病毒保護(hù)“殼”會出現(xiàn)誤報警的情況。另外,考慮到病毒的多樣性,對于出現(xiàn)“可疑病毒”的情況,尚未進(jìn)行相應(yīng)處理。
參考文獻(xiàn)
[1]?陳健偉,朱梅.計算機(jī)病毒與反病毒技術(shù)研究[J].電子與電信,2006, 12(34).
[2]?張桂勇,陳芳瓊.APIforWindows2000/XP詳解[M]. 北京:清華大學(xué)出版社,2003.
[3]?楊華民,梁水.Delphi函數(shù)參考大全[M]. 北京:人民郵電出版社,2006.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 激情综合亚洲欧美日韩| 萍萍偷看邻居海员打屁股| 欧美黑人xxxx猛战黑人| 午夜福利啪啪片| 蜜桃精品免费久久久久影院| 国产李美静大战黑人| 在线观看xxx| 国产麻豆入在线观看| 久久99国产乱子伦精品免费| 欧美牲交VIDEOSSEXESO欧美| 免费无码va一区二区三区| 黄色一级大片儿| 国产精品国产三级在线专区| 97免费人妻在线视频| 天天av天天av天天透| 久久久久成人精品免费播放动漫 | yy6080理论午夜一级毛片| 我的娇妻acome| 久久91精品国产91久| 日本免费看片在线播放| 久久精品中文字幕免费| 日韩精品亚洲人成在线观看| 亚洲综合一区无码精品| 男女边摸边吃奶边做免费观看| 午夜免费一级片| 精品真实国产乱文在线| 国产AV一区二区三区传媒| 草草浮力影院第一页入口| 国产亚洲美女精品久久久2020 | 欧美日韩一区二区三区在线观看视频 | 美女扒开内裤羞羞网站| 国产v片成人影院在线观看| 野花香高清在线观看视频播放免费 | 中文字幕中韩乱码亚洲大片| 无码任你躁久久久久久久| 久久久久久九九99精品| 欧美性色欧美a在线观看| 亚洲欧美国产精品专区久久| 毛片亚洲AV无码精品国产午夜| 亚洲精品国产精品乱码不卡√| 激情图片小说区|