當前位置:首頁 » 編程語言 » c型語言中的感染
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c型語言中的感染

發布時間: 2022-11-22 13:34:19

c語言中\t是什麼意思

C語言的t 代表的意思是水平製表符。相當於按了鍵盤上的TAB按鍵,通常寬度相當於8個空格的位置,但有些軟體允許設置tab的寬度。在雙引號或定界符表示的字元串中有效,在單引號表示的字元串中無效。

一般來說,其在終端和文件中的輸出顯示相當於按下鍵盤TAB鍵效果。一般系統中,顯示水平製表符將佔8列。同時水平製表符開始占據的初始位置是第8*n列(第一列的下標為0)。

實例代碼如下:

❷ c語言利用遞歸 解決流感傳染問題

#include<stdlib.h>
#include<malloc.h>
#include<memory.h>

//感染函數輸入參數:
//room:房間現狀
//n:房間行列數
//p:感染者所在房間序號
voidinfect(char*room,intn,intp)
{
if(p<0)return;
if(p>=n*n)return;

inta[4];
a[0]=p-1;
a[1]=p+1;
a[2]=p+n;
a[3]=p-n;
p%=n;
if(p==0)a[0]=-1;
if(p==n-1)a[1]=-1;
if(a[2]>=n*n)a[2]=-1;
if(a[3]<0)a[3]=-1;

for(p=0;p<4;++p)
{
n=a[p];
if(n==-1)continue;
//如果該房間住著健康的人,則感染
if(room[n]=='.')room[n]='@';
}
}

//用來顯示第m天的宿舍狀態
voidprint(constchar*room,intn,intm)
{
inti,j;
printf("第%d天宿舍狀態: ",m);
for(j=0;j<n;++j)
{
for(i=0;i<n;++i)printf("%c",*room++);
printf(" ");
}

}

intprocess(constchar*filename)
{
intn;//房間行列數
char*room;//房間
intm;//m天

FILE*f;
if(NULL==(f=fopen(filename,"r")))return-1;//文件打開失敗

//讀取房間行列數
charbuf[1000];
if(NULL==fgets(buf,sizeof(buf),f))return-2;//讀取行列數失敗
if(1!=sscanf(buf,"%d",&n))return-2;
if(n<=0)return-3;//房間行列數n不合法

//讀取房間現狀
room=(char*)malloc(n*n);//為房間分配內存
inti;
char*temp;
for(i=0,temp=room;i<n;++i,temp+=n)
{
if(NULL==fgets(buf,sizeof(buf),f))
{
free(room);
return-4;//讀取讀取房間現狀有誤
}
memcpy(temp,buf,n);
}

//對房間現狀進行合法性分析
for(i=n*n,temp=room;i;--i,++temp)
{
if(*temp=='.')continue;
if(*temp=='@')continue;
if(*temp=='#')continue;
return-5;//房間現狀不合法
}

//讀取m值
if(NULL==fgets(buf,sizeof(buf),f))return-6;//讀取m失敗
if(1!=sscanf(buf,"%d",&m))return-6;//讀取m失敗
if(m<0)return-7;//m不合法

fclose(f);

intj;
char*ROOM;//用來備份房間現狀
ROOM=(char*)malloc(n*n);
print(room,n,0);

for(j=0;j<m;++j)
{
memcpy(ROOM,room,n*n);//備份房間現狀
for(i=n*n,temp=ROOM;i;--i,++temp)
{
if(*temp!='@')continue;
//開始感染前後左右的房間
infect(room,n,temp-ROOM);
}
print(room,n,j+1);
}

for(i=n*n,j=0,temp=room;i;--i,++temp)
if(*temp=='@')++j;
printf("%d ",j);
free(room);
free(ROOM);
return0;
}

intmain(intargc,char*argv[])
{
intret;
if(argc<=1)
{
printf("用法:infectfilename ");
return0;
}

ret=process(argv[1]);
switch(ret)
{
case-1:printf("文件%s打開失敗。 ",argv[1]); break;
case-2:printf("讀取房間行列數失敗。 "); break;
case-3:printf("房間行列數不合法。 "); break;
case-4:printf("讀取讀取房間現狀有誤。 "); break;
case-5:printf("房間現狀不合法。 "); break;
case-6:printf("讀取m失敗。 "); break;
case-7:printf("m不合法。 "); break;
}
return0;
}

/*
以下是測試文件內容:假定為test.txt
5
....#
.#.@.
.#@..
#....
.....
4
以下是執行程序後的顯示:
第0天宿舍狀態:
....#
.#.@.
.#@..
#....
.....
第1天宿舍狀態:
...@#
.#@@@
.#@@.
#.@..
.....
第2天宿舍狀態:
..@@#
.#@@@
.#@@@
#@@@.
..@..
第3天宿舍狀態:
.@@@#
.#@@@
.#@@@
#@@@@
.@@@.
第4天宿舍狀態:
@@@@#
.#@@@
.#@@@
#@@@@
@@@@@
19
*/

❸ \t在c語言中是什麼意思

在c語言中意思是水平製表符。

在C語言中,像\n 這些都是轉義字元,\t在C語言里意思就是:水平製表符,從當前位置移到下一個tab位置。

在學習c語言,我們最先接觸到的轉義字元很明顯是\n。

的意思是:回車換行,將當前位置移到下一行的開頭。

的意思是:回車,將當前位置移到本行的開頭。

可以感受一下\n和\r的區別所在。

再多說一句,\f的意思是換頁,將當前位置移到下一頁的開頭。

定義

轉義字元是很多程序語言、數據格式和通信協議的形式文法的一部分。對於一個給定的字母表,一個轉義字元的目的是開始一個字元序列,使得轉義字元開頭的該字元序列具有不同於該字元序列單獨出現時的語義。因此轉義字元開頭的字元序列被叫做轉義序列。

轉義序列通常有兩種功能。

第一個是編碼一個句法上的實體,如設備命令或者無法被字母表直接表示的特殊數據。

第二種功能,也叫字元引用,用於表示無法在當前上下文中被鍵盤錄入的字元(如字元串中的回車符),或者在當前上下文中會有不期望的含義的字元(如C語言字元串中的雙引號字元",不能直接出現,必須用轉義序列表示)。

在後面那種情況,轉義序列是一種由轉義字元自身和一個被引用的字元組成的一個二合字母(digraph)情形。

以上內容參考:網路-轉義字元

❹ 用C語言寫一段自我復制感染的代碼,

《中華人民共和國計算機信息系統安全保護條例》中被明確定義,病毒指「編制或者在計算機程序中插入的破壞計算機功能或者破壞數據,影響計算機使用並且能夠自我復制的一組計算機指令或者程序代碼」。而在一般教科書及通用資料中被定義為:利用計算機軟體與硬體的缺陷,由被感染機內部發出的破壞計算機數據並影響計算機正常工作的一組指令集或程序代碼 。計算機病毒最早出現在70年代 David Gerrold 科幻小說 When H.A.R.L.I.E. was One.最早科學定義出現在 1983:在Fred Cohen (南加大) 的博士論文 「計算機病毒實驗」「一種能把自己(或經演變)注入其它程序的計算機程序」啟動區病毒,宏(macro)病毒,腳本(script)病毒也是相同概念傳播機制同生物病毒類似.生物病毒是把自己注入細胞之中。
電腦病毒二、計算機病毒的長期性:病毒往往會利用計算機操作系統的弱點進行傳播,提高系統的安全性是防病毒的一個重要方面,但完美的系統是不存在的,過於強調提高系統的安全性將使系統多數時間用於病毒檢查,系統失去了可用性、實用性和易用性,另一方面,信息保密的要求讓人們在泄密和抓住病毒之間無法選擇。病毒與反病毒將作為一種技術對抗長期存在,兩種技術都將隨計算機技術的發展而得到長期的發展。
三、計算機病毒的產生:病毒不是來源於突發或偶然的原因。一次突發的停電和偶然的錯誤,會在計算機的磁碟和內存中產生一些亂碼和隨機指令,但這些代碼是無序和混亂的,病毒則是一種比較完美的,精巧嚴謹的代碼,按照嚴格的秩序組織起來,與所在的系統網路環境相適應和配合起來,病毒不會通過偶然形成,並且需要有一定的長度,這個基本的長度從概率上來講是不可能通過隨機代碼產生的。現在流行的病毒是由人為故意編寫的,多數病毒可以找到作者和產地信息,從大量的統計分析來看,病毒作者主要情況和目的是:一些天才的程序員為了表現自己和證明自己的能力,出於對上司的不滿,為了好奇,為了報復,為了祝賀和求愛,為了得到控制口令,為了軟體拿不到報酬預留的陷阱等.當然也有因政治,軍事,宗教,民族.專利等方面的需求而專門編寫的,其中也包括一些病毒研究機構和黑客的測試病毒.
四、計算機病毒的特點,計算機病毒具有以下幾個特點:
(1) 寄生性:計算機病毒寄生在其他程序之中,當執行這個程序時,病毒就起破壞作用,而在未啟動這個程序之前,它是不易被人發覺的。
(2) 傳染性:計算機病毒不但本身具有破壞性,更有害的是具有傳染性,一旦病毒被復制或產生變種,其速度之快令人難以預防。傳染性是病毒的基本特徵。在生物界,病毒通過傳染從一個生物體擴散到另一個生物體。在適當的條件下,它可得到大量繁殖,並使被感染的生物體表現出病症甚至死亡。同樣,計算機病毒也會通過各種渠道從已被感染的計算機擴散到未被感染的計算機,在某些情況下造成被感染的計算機工作失常甚至癱瘓。與生物病毒不同的是,計算機病毒是一段人為編制的計算機程序代碼,這段程序代碼一旦進入計算機並得以執行,它就會搜尋其他符合其傳染條件的程序或存儲介質,確定目標後再將自身代碼插入其中,達到自我繁殖的目的。只要一台計算機染毒,如不及時處理,那麼病毒會在這台機子上迅速擴散,其中的大量文件(一般是可執行文件)會被感染。而被感染的文件又成了新的傳染源,再與其他機器進行數據交換或通過網路接觸,病毒會繼續進行傳染。 正常的計算機程序一般是不會將自身的代碼強行連接到其他程序之上的。而病毒卻能使自身的代碼強行傳染到一切符合其傳染條件的未受到傳染的程序之上。計算機病毒可通過各種可能的渠道,如軟盤、計算機網路去傳染其他的計算機。當您在一台機器上發現了病毒時,往往曾在這台計算機上用過的軟盤已感染上了病毒,而與這台機器相聯網的其他計算機也許也被該病毒染上了。是否具有傳染性是判別一個程序是否為計算機病毒的最重要條件。 病毒程序通過修改磁碟扇區信息或文件內容並把自身嵌入到其中的方法達到病毒的傳染和擴散。被嵌入的程序叫做宿主程序;
(3) 潛伏性:有些病毒像定時炸彈一樣,讓它什麼時間發作是預先設計好的。比如黑色星期五病毒,不到預定時間一點都覺察不出來,等到條件具備的時候一下子就爆炸開來,對系統進行破壞。一個編制精巧的計算機病毒程序,進入系統之後一般不會馬上發作,可以在幾周或者幾個月內甚至幾年內隱藏在合法文件中,對其他系統進行傳染,而不被人發現,潛伏性愈好,其在系統中的存在時間就會愈長,病毒的傳染范圍就會愈大。 潛伏性的第一種表現是指,病毒程序不用專用檢測程序是檢查不出來的,因此病毒可以靜靜地躲在磁碟或磁帶里呆上幾天,甚至幾年,一旦時機成熟,得到運行機會,就又要四處繁殖、擴散,繼續為害。潛伏性的第二種表現是指,計算機病毒的內部往往有一種觸發機制,不滿足觸發條件時,計算機病毒除了傳染外不做什麼破壞。觸發條件一旦得到滿足,有的在屏幕上顯示信息、圖形或特殊標識,有的則執行破壞系統的操作,如格式化磁碟、刪除磁碟文件、對數據文件做加密、封鎖鍵盤以及使系統死鎖等;
(4) 隱蔽性:計算機病毒具有很強的隱蔽性,有的可以通過病毒軟體檢查出來,有的根本就查不出來,有的時隱時現、變化無常,這類病毒處理起來通常很困難。
(5)破壞性:計算機中毒後,可能會導致正常的程序無法運行,把計算機內的文件刪除或受到不同程度的損壞 。通常表現為:增、刪、改、移。
(6)計算機病毒的可觸發性:病毒因某個事件或數值的出現,誘使病毒實施感染或進行攻擊的特性稱為可觸發性。為了隱蔽自己,病毒必須潛伏,少做動作。如果完全不動,一直潛伏的話,病毒既不能感染也不能進行破壞,便失去了殺傷力。病毒既要隱蔽又要維持殺傷力,它必須具有可觸發性。病毒的觸發機制就是用來控制感染和破壞動作的頻率的。病毒具有預定的觸發條件,這些條件可能是時間、日期、文件類型或某些特定數據等。病毒運行時,觸發機制檢查預定條件是否滿足,如果滿足,啟動感染或破壞動作,使病毒進行感染或攻擊;如果不滿足,使病毒繼續潛伏。
五、計算機病毒分類,根據多年對計算機病毒的研究,按照科學的、系統的、嚴密的方法,計算機病毒可分類如下:按照計算機病毒屬性的方法進行分類,計算機病毒可以根據下面的屬性進行分類:
按照計算機病毒存在的媒體進行分類:
(1)根據病毒存在的媒體,病毒可以劃分為網路病毒,文件病毒,引導型病毒。網路病毒通過計算機網路傳播感染網路中的可執行文件,文件病毒感染計算機中的文件(如:COM,EXE,DOC等),引導型病毒感染啟動扇區(Boot)和硬碟的系統引導扇區(MBR),還有這三種情況的混合型,例如:多型病毒(文件和引導型)感染文件和引導扇區兩種目標,這樣的病毒通常都具有復雜的演算法,它們使用非常規的辦法侵入系統,同時使用了加密和變形演算法。
按照計算機病毒傳染的方法進行分類:
(2)根據病毒傳染的方法可分為駐留型病毒和非駐留型病毒,駐留型病毒感染計算機後,把自身的內存駐留部分放在內存(RAM)中,這一部分程序掛接系統調用並合並到操作系統中去,他處於激活狀態,一直到關機或重新啟動.非駐留型病毒在得到機會激活時並不感染計算機內存,一些病毒在內存中留有小部分,但是並不通過這一部分進行傳染,這類病毒也被劃分為非駐留型病毒。
(3) 根據病毒破壞的能力可劃分為以下幾種:
無害型
除了傳染時減少磁碟的可用空間外,對系統沒有其它影響。
無危險型
這類病毒僅僅是減少內存、顯示圖像、發出聲音及同類音響。
危險型
這類病毒在計算機系統操作中造成嚴重的錯誤。
非常危險型
這類病毒刪除程序、破壞數據、清除系統內存區和操作系統中重要的信息。這些病毒對系統造成的危害,並不是本身的演算法中存在危險的調用,而是當它們傳染時會引起無法預料的和災難性的破壞。由病毒引起其它的程序產生的錯誤也會破壞文件和扇區,這些病毒也按照他們引起的破壞能力劃分。一些現在的無害型病毒也可能會對新版的DOS、Windows和其它操作系統造成破壞。例如:在早期的病毒中,有一個「Denzuk」病毒在360K磁碟上很好的工作,不會造成任何破壞,但是在後來的高密度軟盤上卻能引起大量的數據丟失。
(4)根據病毒特有的演算法,病毒可以劃分為:
1. 伴隨型病毒,這一類病毒並不改變文件本身,它們根據演算法產生EXE文件的伴隨體,具有同樣的名字和不同的擴展名(COM),例如:XCOPY.EXE的伴隨體是XCOPY.COM。病毒把自身寫入COM文件並不改變EXE文件,當DOS載入文件時,伴隨體優先被執行到,再由伴隨體載入執行原來的EXE文件。
2. 「蠕蟲」型病毒,通過計算機網路傳播,不改變文件和資料信息,利用網路從一台機器的內存傳播到其它機器的內存,計算網路地址,將自身的病毒通過網路發送。有時它們在系統存在,一般除了內存不佔用其它資源。
3. 寄生型病毒 除了伴隨和「蠕蟲」型,其它病毒均可稱為寄生型病毒,它們依附在系統的引導扇區或文件中,通過系統的功能進行傳播,按其演算法不同可分為:練習型病毒,病毒自身包含錯誤,不能進行很好的傳播,例如一些病毒在調試階段。
4. 詭秘型病毒 它們一般不直接修改DOS中斷和扇區數據,而是通過設備技術和文件緩沖區等DOS內部修改,不易看到資源,使用比較高級的技術。利用DOS空閑的數據區進行工作。
5. 變型病毒(又稱幽靈病毒) 這一類病毒使用一個復雜的演算法,使自己每傳播一份都具有不同的內容和長度。它們一般的作法是一段混有無關指令的解碼演算法和被變化過的病毒體組成。
六、計算機病毒的發展,在病毒的發展史上,病毒的出現是有規律的,一般情況下一種新的病毒技術出現後,病毒迅速發展,接著反病毒技術的發展會抑制其流傳。操作系統升級後,病毒也會調整為新的方式,產生新的病毒技術。它可劃分為:
DOS引導階段
1987年,計算機病毒主要是引導型病毒,具有代表性的是「小球」和「石頭」病毒。當時的計算機硬體較少,功能簡單,一般需要通過軟盤啟動後使用.引導型病毒利用軟盤的啟動原理工作,它們修改系統啟動扇區,在計算機啟動時首先取得控制權,減少系統內存,修改磁碟讀寫中斷,影響系統工作效率,在系統存取磁碟時進行傳播;
1989年,引導型病毒發展為可以感染硬碟,典型的代表有「石頭2」;
DOS可執行階段
1989年,可執行文件型病毒出現,它們利用DOS系統載入執行文件的機制工作,代表為「耶路撒冷」,「星期天」病毒,病毒代碼在系統執行文件時取得控制權,修改DOS中斷,在系統調用時進行傳染,並將自己附加在可執行文件中,使文件長度增加。
1990年,發展為復合型病毒,可感染COM和EXE文件。
伴隨、批次型階段
1992年,伴隨型病毒出現,它們利用DOS載入文件的優先順序進行工作,具有代表性的是「金蟬」病毒,它感染EXE文件時生成一個和EXE同名但擴展名為COM的伴隨體;它感染文件時,改原來的COM文件為同名的EXE文件,再產生一個原名的伴隨體,文件擴展名為COM,這樣,在DOS載入文件時,病毒就取得控制權.這類病毒的特點是不改變原來的文件內容,日期及屬性,解除病毒時只要將其伴隨體刪除即可。在非DOS操作系統中,一些伴隨型病毒利用操作系統的描述語言進行工作,具有典型代表的是「海盜旗」病毒,它在得到執行時,詢問用戶名稱和口令,然後返回一個出錯信息,將自身刪除。批次型病毒是工作在DOS下的和「海盜旗」病毒類似的一類病毒。
幽靈、多形階段
1994年,隨著匯編語言的發展,實現同一功能可以用不同的方式進行完成,這些方式的組合使一段看似隨機的代碼產生相同的運算結果。幽靈病毒就是利用這個特點,每感染一次就產生不同的代碼。例如「一半」病毒就是產生一段有上億種可能的解碼運算程序,病毒體被隱藏在解碼前的數據中,查解這類病毒就必須能對這段數據進行解碼,加大了查毒的難度。多形型病毒是一種綜合性病毒,它既能感染引導區又能感染程序區,多數具有解碼演算法,一種病毒往往要兩段以上的子程序方能解除。
生成器,變體機階段
1995年,在匯編語言中,一些數據的運算放在不同的通用寄存器中,可運算出同樣的結果,隨機的插入一些空操作和無關指令,也不影響運算的結果,這樣,一段解碼演算法就可以由生成器生成,當生成器的生成結果為病毒時,就產生了這種復雜的「病毒生成器」 ,而變體機就是增加解碼復雜程度的指令生成機制。這一階段的典型代表是「病毒製造機」 VCL,它可以在瞬間製造出成千上萬種不同的病毒,查解時就不能使用傳統的特徵識別法,需要在宏觀上分析指令,解碼後查解病毒。
網路,蠕蟲階段
1995年,隨著網路的普及,病毒開始利用網路進行傳播,它們只是以上幾代病毒的改進.在非DOS操作系統中,「蠕蟲」是典型的代表,它不佔用除內存以外的任何資源,不修改磁碟文件,利用網路功能搜索網路地址,將自身向下一地址進行傳播,有時也在網路伺服器和啟動文件中存在。
視窗階段
1996年,隨著Windows和Windows95的日益普及,利用Windows進行工作的病毒開始發展,它們修改(NE,PE)文件,典型的代表是DS.3873,這類病毒的機制更為復雜,它們利用保護模式和API調用介面工作,解除方法也比較復雜。 宏病毒階段1996年,隨著Windows Word功能的增強,使用Word宏語言也可以編制病毒,這種病毒使用類Basic語言、編寫容易、感染Word文檔等文件,在Excel和AmiPro出現的相同工作機制的病毒也歸為此類,由於Word文檔格式沒有公開,這類病毒查解比較困難;
互連網階段
1997年,隨著網際網路的發展,各種病毒也開始利用網際網路進行傳播,一些攜帶病毒的數據包和郵件越來越多,如果不小心打開了這些郵件,機器就有可能中毒;
爪哇(Java),郵件炸彈階段
1997年,隨著萬維網(Wold Wide Web)上Java的普及,利用Java語言進行傳播和資料獲取的病毒開始出現,典型的代表是JavaSnake病毒,還有一些利用郵件伺服器進行傳播和破壞的病毒,例如Mail-Bomb病毒,它會嚴重影響網際網路的效率。
七、其他的破壞行為,計算機病毒的破壞行為體現了病毒的殺傷能力。病毒破壞行為的激烈程度取決於病毒作者的主觀願望和他所具有的技術能量。數以萬計不斷發展擴張的病毒,其破壞行為千奇百怪,不可能窮舉其破壞行為,而且難以做全面的描述,根據現有的病毒資料可以把病毒的破壞目標和攻擊部位歸納如下: 攻擊系統數據區,攻擊部位包括:硬碟主引尋扇區、Boot扇區、FAT表、文件目錄等。一般來說,攻擊系統數據區的病毒是惡性病毒,受損的數據不易恢復。 攻擊文件,病毒對文件的攻擊方式很多,可列舉如下:刪除、改名、替換內容、丟失部分程序代碼、內容顛倒、寫入時間空白、變碎片、假冒文件、丟失文件簇、丟失數據文件等。攻擊內存,內存是計算機的重要資源,也是病毒攻擊的主要目標之一,病毒額外地佔用和消耗系統的內存資源,可以導致一些較大的程序難以運行。病毒攻擊內存的方式如下:佔用大量內存、改變內存總量、禁止分配內存、蠶食內存等。干擾系統運行,此類型病毒會干擾系統的正常運行,以此作為自己的破壞行為,此類行為也是花樣繁多,可以列舉下述諸方式:不執行命令、干擾內部命令的執行、虛假報警、使文件打不開、使內部棧溢出、佔用特殊數據區、時鍾倒轉、重啟動、死機、強制游戲、擾亂串列口、並行口等。 速度下降,病毒激活時,其內部的時間延遲程序啟動,在時鍾中納入了時間的循環計數,迫使計算機空轉,計算機速度明顯下降。攻擊磁碟,攻擊磁碟數據、不寫盤、寫操作變讀操作、寫盤時丟位元組等。 擾亂屏幕顯示,病毒擾亂屏幕顯示的方式很多,可列舉如下:字元跌落、環繞、倒置、顯示前一屏、游標下跌、滾屏、抖動、亂寫、吃字元等。 鍵盤病毒,干擾鍵盤操作,已發現有下述方式:響鈴、封鎖鍵盤、換字、抹掉緩存區字元、重復、輸入紊亂等。 喇叭病毒,許多病毒運行時,會使計算機的喇叭發出響聲。有的病毒作者通過喇叭發出種種聲音,有的病毒作者讓病毒演奏旋律優美的世界名曲,在高雅的曲調中去殺戮人們的信息財富,已發現的喇叭發聲有以下方式:演奏曲子、警笛聲、炸彈雜訊、鳴叫、咔咔聲、嘀嗒聲等。 攻擊CMOS , 在機器的CMOS區中,保存著系統的重要數據,例如系統時鍾、磁碟類型、內存容量等,並具有校驗和。有的病毒激活時,能夠對CMOS區進行寫入動作,破壞系統CMOS中的數據。 干擾列印機,典型現象為:假報警、間斷性列印、更換字元等。
八、計算機病毒的危害性,計算機資源的損失和破壞,不但會造成資源和財富的巨大浪費,而且有可能造成社會性的災難,隨著信息化社會的發展,計算機病毒的威脅日益嚴重,反病毒的任務也更加艱巨了。1988年11月2日下午5時1分59秒,美國康奈爾大學的計算機科學系研究生,23歲的莫里斯(Morris)將其編寫的蠕蟲程序輸入計算機網路,致使這個擁有數萬台計算機的網路被堵塞。這件事就像是計算機界的一次大地震,引起了巨大反響,震驚全世界,引起了人們對計算機病毒的恐慌,也使更多的計算機專家重視和致力於計算機病毒研究。1988年下半年,我國在統計局系統首次發現了「小球」病毒,它對統計系統影響極大,此後由計算機病毒發作而引起的「病毒事件」接連不斷,前一段時間發現的CIH、美麗莎等病毒更是給社會造成了很大損失。
九、用戶計算機中毒的24種症狀
1.計算機系統運行速度減慢。
2.計算機系統經常無故發生死機。
3.計算機系統中的文件長度發生變化。
4.計算機存儲的容量異常減少。
5.系統引導速度減慢。
6.丟失文件或文件損壞。
7.計算機屏幕上出現異常顯示。
8.計算機系統的蜂鳴器出現異常聲響。
9.磁碟卷標發生變化。
10.系統不識別硬碟。
11.對存儲系統異常訪問
12.鍵盤輸入異常。
13.文件的日期、時間、屬性等發生變化。
14.文件無法正確讀取、復制或打開。
15.命令執行出現錯誤。
16.虛假報警。
17.換當前盤。有些病毒會將當前盤切換到C盤。
18.時鍾倒轉。有些病毒會命名系統時間倒轉,逆向計時。
19.WINDOWS操作系統無故頻繁出現錯誤。
20.系統異常重新啟動。
21.一些外部設備工作異常。
22.異常要求用戶輸入密碼。
23.WORD或EXCEL提示執行「宏」。
24.是不應駐留內存的程序駐留內存。
計算機病毒是在什麼情況下出現的?
計算機病毒的產生是計算機技術和以計算機為核心的社會信息化進程發展到一定階段的必然產物。它產生的背景是:
(1)計算機病毒是計算機犯罪的一種新的衍化形式
計算機病毒是高技術犯罪, 具有瞬時性、動態性和隨機性。不易取證, 風險小破壞大, 從而刺激了犯罪意識和犯罪活動。是某些人惡作劇和報復心態在計算機應用領域的表現;
(2)計算機軟硬體產品的脆弱性是根本的技術原因
計算機是電子產品。數據從輸入、存儲、處理、輸出等環節, 易誤入、篡改、丟失、作假和破壞;程序易被刪除、改寫;計算機軟體設計的手工方式, 效率低下且生產周期長;人們至今沒有辦法事先了解一個程序有沒有錯誤, 只能在運行中發現、修改錯誤, 並不知道還有多少錯誤和缺陷隱藏在其中。這些脆弱性就為病毒的侵入提供了方便;

❺ c語言屬於什麼型

一、編譯型語言

優點:運行速度快,代碼效率高,編譯後的程序不可修改,保密性較好。

缺點:代碼需要經過編譯方可運行,可移植性差,只能在兼容的操作系統上運行 。

二、解釋型語言

優點:可移植性較好,只要有解釋環境,可在不同的操作系統上運行。

缺點:運行需要解釋環境,運行起來比編譯的要慢,佔用資源也要多一些,代碼效率低,代碼修改後就可運行,不需要編譯過程。

(5)c型語言中的感染擴展閱讀:

編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成 為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如C、C++、Delphi等。而相對的,解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發布程序時,看起來省了道編譯工序。但是在運行程序的時候,解釋性語言必須先解釋再運行。

❻ C語言中的char具體用法

char a[]如果從定義看就是存儲著char類型的數組,而char* b就是一個char類型的指針。我們把第一個叫做字元數組,第二個叫做字元指針。

用法是字元數組在初始化的時候,是把字元串裡面的元素復制到數組裡面,包括'',而字元指針則是指向一個常量,所以,不能用b[1] = 'c';這種方式修改b這個字元串,常量是不能更改的,不過可以讓它指向別的字元地址。

(6)c型語言中的感染擴展閱讀

關於char占幾個位元組的問題

1、「位元組」byte,「位」是bit ;

2、1 byte = 8 bit ;

char 在Java中是2個位元組。Java採用unicode,2個位元組(16位)來表示一個字元。

char類型賦值

char a = 'a'; //任意單個字元,加單引號。

char a = '中';//任意單個中文字,加單引號。

char a = 111;//整數。0~65535。十進制、八進制、十六進制均可。輸出字元編碼表中對應的字元。

註:char只能放單個字元。

char運算

char類型卻是可以運算的因為char在ASCII等字元編碼表中有對應的數值。

在Java中,對char類型字元運行時,直接當做ASCII表對應的整數來對待。

❼ 生活中常見的病毒有哪些

AV終結者(名稱很雜,無統一標准)
該病毒利用了IFEO重定向劫持技術,使大量的殺毒軟體和安全相關工具無法運行;會破壞安全模式,使中毒用戶無法在安全模式下查殺病毒;會下載大量病毒到用戶計算機來盜取用戶有價值的信息和某些帳號;能通過可移動存儲介質傳播。中毒現象:
1.生成很多8位數字或字母隨機命名的病毒程序文件,並在電腦開機時自動運行。
2.綁架安全軟體,中毒後會發現幾乎所有殺毒軟體,系統管理工具,反間諜軟體不能正常啟動。即使手動刪除了病毒程序,下次啟動這些軟體時,還會報錯。
3.不能正常顯示隱藏文件,其目的是更好的隱藏自身不被發現。
4.禁用windows自動更新和Windows防火牆,這樣木馬下載器工作時,就不會有任何提示窗口彈出來。為該病毒的下一步破壞打開方便之門。
5.破壞系統安全模式,使得用戶不能啟動系統到安全模式來維護和修復
6.當前活動窗口中有殺毒、安全、社區相關的關鍵字時,病毒會關閉這些窗口。假如你想通過瀏覽器搜索有關病毒的關鍵字,瀏覽器窗口會自動關閉。
7.在本地硬碟、U盤或移動硬碟生成autorun.inf和相應的病毒程序文件,通過自動播放功能進行傳播。這里要注意的是,很多用戶格式化系統分區後重裝,訪問其它磁碟,立即再次中毒,用戶會感覺這病毒格式化也不管用。
8.病毒程序的最終目的是下載更多木馬、後門程序。用戶最後受損失的情況取決於這些木馬和後門程序。

「熊貓燒香」(Worm.Nimaya)
該病毒採用「熊貓燒香」頭像作為圖標,誘使用戶運行。該變種會感染用戶計算機上的EXE可執行文件,被病毒感染的文件圖標均變為「熊貓燒香」。同時,受感染的計算機還會出現藍屏、頻繁重啟以及系統硬碟中數據文件被破壞等現象。該病毒會在中毒電腦中所有的網頁文件尾部添加病毒代碼。一些網站編輯人員的電腦如果被該病毒感染,上傳網頁到網站後,就會導致用戶瀏覽這些網站時也被病毒感染。目前多家著名網站已經遭到此類攻擊,而相繼被植入病毒

灰鴿子(Trojan.Huigezi)
灰鴿子是國內一款著名後門病毒。2007年2月21日,灰鴿子2007beta2版本發布。該版本可以對遠程計算機進行如下操作:編輯注冊表;上傳下載文件;查看系統信息、進程、服務;查看操作窗口、記錄鍵盤、修改共享、開啟代理伺服器、命令行操作、監視遠程屏幕、操控遠程語音視頻設備、關閉、重啟機器等。

蠕蟲「小浩」(WormXiaoHao.A)
被感染後文件圖標變「浩」字,與「熊貓燒香」相似.該蠕蟲和之前出現的蠕蟲「熊貓燒香」具有相似的特點,都可以感染可執行文件(後綴名為.EXE)。與其不同的是,被感染後的可執行文件將無法正常運行和恢復。蠕蟲運行後,會在受感染計算機系統中的每個磁碟根目錄下釋放兩個病毒文件,使文件感染成為新的病毒文件,同時被感染後的文件圖標變為一個「浩」字的圖樣。另外,蠕蟲還會利用Windows系統的自動播放功能並結合U盤來進行病毒傳播。一旦計算機雙擊染有該蠕蟲的U盤,系統就會受到感染

威金蠕蟲(Worm.Viking)
該病毒集文件型病毒、蠕蟲病毒、病毒下載器於一身,傳播能力非常強。採用Delphi語言編寫,並經過加殼處理.在Windows目錄下釋放病毒文件。修改注冊表,實現開機自啟。在每個被感染過的文件目錄下生成_desktop.ini文件,文件里標記著病毒發作日期。感染用戶計算機上的可執行文件,並通過密碼字典破解弱密碼,利用網路共享感染區域網內的其它計算機,具有很強的破壞性。當用戶的計算機被「威金」變種atk感染後,會導致大部分應用程序不能正常使用。

新歡樂時光(Script.RedLof )感染這個病毒後有兩個明顯的表現:a.在每個目錄中都會生成folder.htt(帶毒文件)和desktop.ini(目錄配置文件);b.電腦運行速度明顯變慢,在任務列表中可以看到有大量的Wscript.exe程序在運行。 用VBS編寫的多變形、加密病毒,感染擴展名.html, .htm, .asp, .php, .jsp, .htt和.vbs文件,同時該病毒會大量生成folder.htt和desktop.ini,並在%windir%System中生成一個名字叫Kernel.dll的文件(Windows 9x/Me)或kernel32.dll(Windows NT/2000),修改.dll文件的打開方式,感染Outlook的信紙文件。

ANI蠕蟲 (Trojan-Downloader.Win32.Ani)
ANI病毒是一個Win32平台下的感染型蠕蟲,可感染本地磁碟、可移動磁碟及共享目錄中大小在10K---10M之間的所有.exe文件,感染擴展名為.ASP、.JSP、PHP、HTM、ASPX、HTML的腳本文件,並可連接網路下載其他病毒。

MSN騙子(Worm.msn.funny)
病毒會通過QQ和MSN發送大量的垃圾信息和「Funny.exe」病毒文件,同時用病毒文件替換系統文件,造成某些用戶重啟機器之後無法正常開機,給用戶帶來了非常大的困擾。

QQ尾巴(Worm.QQTailEKS)
該病毒可通過QQ發送消息自動傳播,而且病毒運行後會自動更新,並不斷彈出一些垃圾網頁.

愛情後門(Worm.Lovgate)
一個集蠕蟲後門黑客於一身的病毒。當病毒運行時,將自己復制到windows目錄下,文件名為:WinRpcsrv.exe並注冊成系統服務。然後把自己分別復制到system目錄下,文件名為syshelp.exe,WinGate.exe並在注冊表run項中加入自身鍵值。病毒利用ntdll提供的api找到LSASS進程,並對其殖入遠程後門代碼。(該代碼,將響應用戶tcp請求建方一個遠程shell進程。win9x為command.com,NT,WIN2K,WINXP為cmd.exe)之後病毒將自身復制到windows目錄並嘗試在win.ini中加入run=rpcsrv.exe。並進入傳播流程。

馬吉斯(Worm.Magistr)
病毒是由C語言編寫的感染型病毒,感染後綴名為EXE的32位PE可執行程序,病毒源的大小為40KB。病毒源文件為boot.exe,由用戶從U盤上提取。病毒感染文件時,會將原文件最後一個節增大,將病毒代碼寫入被感染文件的代碼節,修改入口點指向病毒代碼並保存原來的入口點地址,然後將被覆蓋的原來文件的代碼、病毒的dll、sys文件壓縮保存在文件最後一個節中增大的地方。被感染的文件運行時,病毒代碼先被運行,釋放C:\WINNT\linkinfo.dll和%SystemRoot%\system32\drivers\IsDrv118.sys並載入,然後調用linkinfo.dll的序號為101的函數。病毒代碼最後會恢復原文件被覆蓋的代碼並跳回原文件的入口開始運行原來的文件。

❽ 在C語言中 char的用法是怎麼用的啊

在C語言中,char變數為一個位元組,8位,signed char表示的范圍:-128~127【-128在內存中的二進製表示為1000 0000,127在內存中的表示為0111 1111】;unsign char表示的范圍:0000 0000~1111 1111,即0~255;注意:整數在內存中是以補碼存取的,正數的補碼:等於自己,負數的補碼:取反加1,例如:127在內存中表示為0111 1111, -127在內存中表示為(0111 1111)+1=1000 0001; 假定某內存單元p的內容是1111 1111,那麼它一定是255嗎?實際上取決於你的代碼是要把它看成有符號還是無符號數,如果是無符號則表示255,如果是有符號則表示-1【對於有符號數,最高位為符號位,1表示負,0表示正】:
signed char c=*p; //c=-1
unsigned char c=*p;//c=255
char是C語言整型數據中比較古怪的一個,其它的如int/long/short等不signed/unsigned時都默認是signed。雖然char在標准中是unsigned(因為char類型提出的初衷是用來表示ascii碼,ascii碼的范圍是0~127),但實際情況中究竟是signed還是unsigned取決於編譯器。當你不確定編譯器的默認char類型時,就用顯示聲明:signedchar和unsigned char

❾ c語言的int型數據范圍和內存中存儲是什麼

1、nt型為帶符號整數類型,對於16位編譯器,int佔2位元組8位;對於32位和64位編譯器,int型佔4位元組32位。不同的佔用空間,int型的范圍也不同:2位元組時,int 范圍為-32768~32767;4位元組時,int范圍為-2147483648~2147483647。

無論是哪種存儲方式,均是最高位為符號位,0代表正數,1代表負數。剩餘位存儲實際值。

2、字元是指計算機中使用的字母、數字、字和符號,包括:1、2、3、A、B、C、~!·#¥%??—*()——+等等。在 ASCII 編碼中,一個英文字母字元存儲需要1個位元組。在 GB 2312 編碼或 GBK 編碼中,一個漢字字元存儲需要2個位元組。

3、字元型數據在內存中儲存的是它的ASCII碼值,它是一個位元組,所有數據類型在內存中都是以0和1代碼二進制儲存的,這個原則不會變。

4、在UTF-8編碼中,一個英文字母字元存儲需要1個位元組,一個漢字字元儲存需要3到4個位元組。在UTF-16編碼中,一個英文字母字元或一個漢字字元存儲都需要2個位元組(Unicode擴展區的一些漢字存儲需要4個位元組)。在UTF-32編碼中,世界上任何字元的存儲都需要4個位元組。

5、char是C/C++整型數據之一,其它的如int/long/short等不指定signed/unsigned時都默認是signed,char在標准中是unsigned,編譯器可以實現為帶符號的,也可以實現為不帶符號的,有些編譯器如pSOS的編譯器,還可以通過編譯開關來指定它是有符號數還是無符號數。