1. 病毒是一種編譯程序,那為什麼病毒在軟體未編譯前就可以被染上
編連是將軟體源碼
編譯
連接
成一個可執行程序,簡稱編連.
任何程序在編譯前,都是代碼,
純文本,是不可能被病毒
感染.
頂多修改代碼.沒有什麼危害的
2. 我學的是c++,怎麼編譯病毒。編譯的原理是什麼
你還學c++的。你知道什麼叫編譯么?!
要製作計算機病毒,你還是好好學習一下吧。
至少要懂一些系統方面的知識吧。然後調用一些系統相關的函數。
有興趣的話,可以發我網路私信。
3. 怎樣編寫病毒
1.1病毒程序VIRUS.C
這是一個用C語言寫的病毒程序,當激發病毒程序時顯示時間,然後返回。病毒程序VIRUS.C可將病毒傳染給一個C語言程序。當被病毒感染的程序經編譯、連接和執行後,又可以將病毒部分傳染給其他的C語言源程序。每執行一次帶有病毒的C語言程序,就向C語言源程序傳播一次病毒。此程序的設計思路如下:
當含有病毒部分的程序被執行時,首先進入病毒程序。它在磁碟上找擴展名為C的匹配文件,如果找到,查找是否有被傳染過的標志「INFECTED」。如果有此標志,繼續找其它的C文件,直至全部檢查一遍。若沒有這個標志,則
(1)在未被感染的C程序頭部加入「INFECTED」已被傳染標志。
(2)讀取病毒文件的頭文件,將其插入到即將被感染的文件頭部。如果發現有重復則不插入。
(3)在主程序中插入「VIRUSES();」調用VIRUSES函數。尋找printf、for、while、break語句,如果找到就在之前插入。
(4)在文件尾部插入VIRUSES_SUB子程序。
(5)在插入到將感染文件裡面的VIRUSES_SUB子程序裡面,必須把文件名改為當前自身的文件名,否則被傳染後的文件經過編譯、連接和運行後不能再繼續傳染。
(6)最後插入VIRUSES子程序。這個子程序裡面調用了VIRUSES_SUB,執行到這里返回執行結果信息。
其中用到4個出錯的返回值,分別是:
1:用戶文件太大,不傳染;
2:帶病毒文件打不開,不傳染;
3:帶病毒文件讀取不成功,不傳染;
4:查找第一個匹配文件不成功。
如果返回值是0代表文件傳染成功。
具體實現過程如下:
其中用到的函數和結構體用法參考3.3節。
首先導入病毒子程序要用到的三個庫文件,分別是dir.h,stido.h,dos.h.在主函數裡面只調用VIRUSES函數。緊跟定義VIRUSES函數裡面要調用的VIURS_SUB函數。裡面定義了若干個變數。ffblk用來保存查找到的匹配文件的信息,用到裡面的ff_name變數來保存匹配文件名。
然後定義保存未感染的文件和病毒文件的文件型指針變數,分別用是*virus_r和*virus_v.讀取文件的緩沖區,放到二維數組a[500][80]裡面臨時存放。因為此程序對大於500行的C文件不進行傳染,所以完全可以放到裡面。首先用getdate函數獲取系統當前日期並輸出。接著用findfirst函數查找擴展名為C的文件,將其信息保存到ffblk裡面。用fgets函數讀文件的第一行,長度是80-1個字元。然後用strstr函數檢測病毒的標志,看文件是否有INFECT這個標志。
如果有,表示文件已經被傳染,關閉文件,不進行傳染。當含有病毒部分的程序被執行時,首先進入病毒程序。它在磁碟上查找*.C的匹配文件,一旦找到,查找「已被傳染過」的標志INFECTED。若有此標志,繼續找其它*.C文件,直至全部檢查一遍。
如果沒有這個標志,將文件全部讀入a[500][80],如果發現文件超過500行,不傳染,返回。將文件指針指向文件頭,打開帶病毒的文件。如果打不開,返回。
然後讀取帶病毒文件的前4行,也就是病毒子程序要用到的頭文件,寫入將被傳染的文件。若不能讀取帶病毒文件,返回。用n_line變數控制行數,把將被傳染文件的源程序寫回原文件。其中要進行處理不寫入病毒文件已有的包含語句,也就是說使#Include語句不重復。
這點是這樣實現的:定義一個字元數組charinclude_h[]=;strstr函數查看將被傳染文件的頭文件是否和*include_h[]相同,如果相同,......
4. 多形性計算機病毒是怎麼重新編譯自己的呢
【熱心相助】
您好!多形性病毒 多形性病毒又名"幽靈"病毒,是指採用特殊加密技術編寫的病毒,這種病毒在每感染一個對象時採用隨機方法對病毒主體進行加密,因而完全多形性病毒的主要不同樣本中甚至不存在連續兩個相同的位元組。這種病毒主要是針對查毒軟體而設計的,所以使得查毒軟體的編寫更困難,並且還會帶來許多誤報。
5. 病毒性編譯者自己的電腦會中毒么
肯定會啦..!!
6. 誰能給我解釋一個病毒到底是怎麼製造的原理為什麼它在製造者機器上不發作是不是有專門的編譯程序
病毒不同於木馬,就是一段代碼,黑客往往只是編譯,無法控制。
個人見解,不一定正確
希望對您有所幫助!
7. 關於C++編譯病毒的..
最簡單但是最經典的就要屬C語言了,我主修的是C++和JAVA,感覺JAVA要比C++難一些,要想從頭學最好還是先學C語言吧,然後學C++,再是JAVA,話說C#也蠻不錯的,其實病毒有很多種,也要看你需要哪種功能的病毒了,用C語言編病毒的話會容易點……
8. 一般來說,病毒編輯者是如何編輯病毒的
總而言之就是編程,病毒越強,也就說明編者水平越高,一小部分病毒製造者就是出自這個目的製作的病毒。當然大部分是為了個人利益編的木馬。
9. 病毒如何編譯的
前陣子的熊貓病毒,是引用國外早些時候最牛的一個蠕蟲病毒的原代碼,相當於換湯不換葯,直接給他在換一種代碼就可以利用了,也就是人們說的變種病毒,病毒變種的速度很快,每個會編程的都會製作出很多的變種.好比,一個小偷每天在換衣服做案逃避警察一樣
編寫程序的編寫員一般都經過了C語言,C++等一些高級語言程序的學習編寫
熊貓燒香的製造者是,一個計算機職業技術學校的一名學生
自己編寫程序時,一般不會中毒~即使不小心中了,也沒事,因為他就是這個病毒的程序編寫員,好比醫生知道怎麼樣可以治好自己的病
10. 今天電腦中病毒了,提供病毒文件誰能反編譯一下
這表現和autorun病毒一個樣哈,起碼類似,形式。