資源描述:
《用c語言編寫簡單的病毒》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、用C語言編寫簡單的病毒[轉(zhuǎn)]2007年08月28日星期二下午03:39[摘要]在分析病毒機理的基礎(chǔ)上,用C語言寫了一個小病毒作為實例,用TURBOC2.0實現(xiàn).????[Abstract]Thispaperintroducethecharateristicofthecomputervirus,thenshowasimpleexamplewrittenbyTURBOC2.0.一、什么是病毒?????惡意軟件可能是第一個對我們產(chǎn)生影響的計算機安全問題.所以病毒在畔踩惺嗆苤匾???我們要對付病毒,就要了解病毒.??寫一些病毒是一個很
2、好的辦法.??如果要寫一個病毒,先要知道它是什么.可以給病毒一個定義,這一定義是被廣泛認(rèn)可的。FredericCohen博士在《計算機病毒簡短講座》中提到的:“……一種能夠通過修改自身來包括或釋放自我拷貝而傳染給其他程序的程序?!????????其實病毒和普通程序并無太大不同,而且通常比較簡單,不像很多程序那樣復(fù)雜。只不過病毒里面用到一些正常程序一般不會用到的技術(shù)。??要編制一個病毒,首先要知道病毒的運行機理。??不論是何種病毒,它一般在結(jié)構(gòu)上分為三個功能模塊:感染機制,觸發(fā)機制和有效載荷。??在病毒結(jié)構(gòu)中,首要的而且唯一必需
3、的部分是感染機制。病毒首先必須是能夠繁殖自身的代碼,這是病毒之所以成為病毒的根本原因。我們可以用一段類C偽碼來表示這個過程。InfectSection()??{????if(infectable_object_found????&&object_not_already_infect)????????infect_object;????}????????病毒的第二個主要構(gòu)成部分是有效載荷觸發(fā)事件.一個病毒來到你的電腦后,不大可能立即發(fā)作,否則它不會被傳播得很遠(yuǎn).潛伏的敵人永遠(yuǎn)要比能見到的敵人危險得多.病毒一般是在找到一定數(shù)量的感
4、染體,某一日期或時間,某一段文本后觸發(fā).一個簡單的觸發(fā)機制可能是這樣工作的:????????TriggerSection()????????{??????????if(date_is_Friday_13th_and_time_is_03:13:13)????????????????????????????????????????set_trigger_status_to_yes;????????}有效載荷就是病毒用來騷擾你的電腦的方法,有觸發(fā)機制的病毒一般也有有效載荷。它可以是任意的給你發(fā)一條一次性簡單的愚弄信息,重新格式化你
5、的磁盤,把它自己郵給你的E_mail通信者都可以成為有效的負(fù)荷。簡單的有效負(fù)荷可以如下進行:??????Executesection()??????{????????if(trigger_statue_is_yes)????????????execute_payload;?????????????????????}??????????????????????二、編制病毒的語言??最常見的編制病毒的語言有匯編語言、VB、C語言等,我們可以來看一看一個有名的病毒論壇上認(rèn)為學(xué)寫病毒要掌握的基礎(chǔ):??1).Win32編程,進程,線程,
6、內(nèi)存,等等。 2).32位匯編,以指令用法為主。386匯編就比較夠用了?! ?).PE格式,有精力還可以看一下其它可能被感染的文件的文件格式?! ?).調(diào)試技術(shù)。VC,TD32,SoftIce,等等。??要掌握的東西確實很多,還多聽都沒聽過,很嚇人.但實際上,即使我們對計算機的原理和操作系統(tǒng)不很了解,而且不熟悉除C以外的其他語言,只要我們對C的庫函數(shù)有一定了解,就可以寫一些類似病毒的東西.三 用C編制病毒??以TurboC2.0為例.它的庫函數(shù)可以實現(xiàn)很多功能.??如以下兩個函數(shù):??1).findfirst和findnex
7、t函數(shù):在dir.h。findfirst用來找各種類型的文件,可以得到文件名文件長度,文件屬性等,findnext和findfirst配合使用,用來找到下一個同類型的文件。??2).remove函數(shù):在stdio.h.只要知道文件名,可以刪除任意類型的文件.??????????四我寫的C病毒?????????<<計算機病毒解密>>上有一句比較經(jīng)典的話,"或許把惡意軟件造成的損害說成是心理上的損害??可能會更恰當(dāng)一些".從這個意義上說,我的病毒是非常典型的病毒.??????下面是我寫的病毒.??它主要由四個模塊組成.??Rubb
8、ishMaker()可用來在當(dāng)前目錄下生成大量隨機命名的垃圾文件.??CreatEXE()將在C盤的敏感地方放置幾個.exe垃圾,它們要隱蔽一些。??Remove()會刪掉你的一些東西,所以千萬不要隨便運行這個程序.??Breed()是C_KILLER的精華所在,它將kill