• 大小: 13.13MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-16
  • 语言: 其他
  • 标签:

资源简介

将要绑定的exe文件作为单纯的数据放在目标exe文件的新区快当中,目标文件在执行时检测是否有该区块,有,则创建新文件并创建进程,执行完毕后删除新建文件

资源截图

代码片段和文件信息

// PE文件捆绑.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“

#include
#include
#include
using namespace std;
#pragma comment(lib“ImageHlp.lib“)


char* strFileTarget=“D:\\D.exe“;
int gSectionNum=0;
int gSectionAlign=0;
int gFileAlign=0;
char* gFileA=“D:\\tmpA.exe“;
char* gFileB=“D:\\tmpB.exe“;
char* gExeBufferA=NULL;
char* gExeBufferB=NULL;
int gdwFileSizeA=0;
int gdwFileSizeB=0;

////////////////////////////////////////////////////////
//函数名称:getAlign
//函数描述:根据固有对其值和将要对其的大小,返回应有大小
////////////////////////////////////////////////////////
int getAlign(int Alignint target)
{
if(target {
return Align;
}
else if(target%Align)
{
return (target/Align+1)*Align;
}
else
{
return target;
}
}
////////////////////////////////////////////////////////
//函数结束
////////////////////////////////////////////////////////

////////////////////////////////////////////////////////
//函数名称:fileToStream
//函数描述:根据固有对其值和将要对其的大小,返回应有大小
////////////////////////////////////////////////////////
char* fileTostream(char* srcExePathAchar* srcExePathB)
{
//开始读取第一个文件
HANDLE hFileA=CreateFile(srcExePathAGENERIC_ALLFILE_SHARE_READNULLOPEN_EXISTING00);
DWORD dwTmp=0;
if(hFileA==INVALID_HANDLE_VALUE)
{
int errNum=GetLastError();
MessageBox(NULL“对不起,文件打开失败“00);
return 0;
}
gdwFileSizeA=GetFileSize(hFileA0);
gExeBufferA=new char[gdwFileSizeA+1];
memset(gExeBufferA0gdwFileSizeA+1);
ReadFile(hFileAgExeBufferAgdwFileSizeA&dwTmpNULL);
CloseHandle(hFileA);
//开始读取第二个文件
HANDLE hFileB=CreateFile(srcExePathBGENERIC_ALLFILE_SHARE_READNULLOPEN_EXISTING00);
if(hFileB==INVALID_HANDLE_VALUE)
{
MessageBox(NULL“对不起,文件打开失败“00);
return 0;
}
gdwFileSizeB=GetFileSize(hFileB0);
gExeBufferB=new char[gdwFileSizeB+1];
memset(gExeBufferB0gdwFileSizeB+1);
ReadFile(hFileBgExeBufferBgdwFileSizeB&dwTmpNULL);
CloseHandle(hFileB);
}
////////////////////////////////////////////////////////
//函数结束
////////////////////////////////////////////////////////




////////////////////////////////////////////////////////
//函数名称:editTarget
//函数描述:编辑目标exe文件,将待捆绑文件作为数据放在新
//          区块中
////////////////////////////////////////////////////////
void editTarget()
{
//尝试打开文件
HANDLE hFile=CreateFile(strFileTargetGENERIC_ALLFILE_SHARE_READNULLOPEN_EXISTINGFILE_ATTRIBUTE_NORMALNULL);
if(INVALID_HANDLE_VALUE==hFile)
{
int srrNum=GetLastError();
MessageBox(NULL“文件打开失败“00);
return ;
}
//获得文件大小
DWORD dwFileSize=GetFileSize(hFile0);
//尝试映射到内存
HANDLE hMap=CreateFileMapping(hFileNULLPAGE_EXECUTE_READWRITE0dwFileSize+getAlign(512gdwFileSizeA)+getAlign(512gdwFileSizeB)0);
if(INVALID_HANDLE_VALUE==hMap)
{
MessageBox(NULL“文件映射失败“00);
return ;
}
    LPVOID lpbase=MapViewOfFile(hMapFILE_MAP_READ|FILE_MAP_WRITE000);
//获得文件的DOS头部
PIMAGE_DOS_HEADER pDosHeader=(PIMAGE_DOS_HEADER)lpBas

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      31232  2013-12-16 19:01  PE文件捆绑\Debug\PE文件捆绑.exe

     文件     481360  2013-12-16 19:01  PE文件捆绑\Debug\PE文件捆绑.ilk

     文件     789504  2013-12-16 19:01  PE文件捆绑\Debug\PE文件捆绑.pdb

     文件    2752512  2013-12-16 19:34  PE文件捆绑\ipch\pe文件捆绑-fa109b0\pe文件捆绑-cd878255.ipch

     文件       1674  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\cl.command.1.tlog

     文件      22078  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\CL.read.1.tlog

     文件       1280  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\CL.write.1.tlog

     文件          2  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\link-cvtres.read.1.tlog

     文件          2  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\link-cvtres.write.1.tlog

     文件          2  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\link.26228-cvtres.read.1.tlog

     文件          2  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\link.26228-cvtres.write.1.tlog

     文件          2  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\link.26228.read.1.tlog

     文件          2  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\link.26228.write.1.tlog

     文件       2044  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\link.command.1.tlog

     文件       3732  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\link.read.1.tlog

     文件       1342  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\link.write.1.tlog

     文件        450  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\mt.command.1.tlog

     文件        450  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\mt.read.1.tlog

     文件        450  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\mt.write.1.tlog

     文件        406  2013-12-14 09:15  PE文件捆绑\PE文件捆绑\Debug\PE文件捆绑.exe.embed.manifest

     文件        472  2013-12-14 09:15  PE文件捆绑\PE文件捆绑\Debug\PE文件捆绑.exe.embed.manifest.res

     文件        381  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\PE文件捆绑.exe.intermediate.manifest

     文件        103  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\PE文件捆绑.lastbuildstate

     文件       2814  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\PE文件捆绑.log

     文件      63332  2013-12-16 19:01  PE文件捆绑\PE文件捆绑\Debug\PE文件捆绑.obj

     文件    1245184  2013-12-15 18:05  PE文件捆绑\PE文件捆绑\Debug\PE文件捆绑.pch

     文件        202  2013-12-14 09:15  PE文件捆绑\PE文件捆绑\Debug\PE文件捆绑_manifest.rc

     文件        658  2013-12-14 09:15  PE文件捆绑\PE文件捆绑\Debug\rc.command.1.tlog

     文件        422  2013-12-14 09:15  PE文件捆绑\PE文件捆绑\Debug\rc.read.1.tlog

     文件        430  2013-12-14 09:15  PE文件捆绑\PE文件捆绑\Debug\rc.write.1.tlog

............此处省略78个文件信息

评论

共有 条评论

相关资源