// test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "windows.h"
#include <conio.h>
#include <Psapi.h>
#pragma comment(lib, "Psapi.lib")
// ========== 传给注入线程的参数结构 ============
struct MyData
{
char srcfile[64]; //源文件地址
char destfile[64];//目标文件地址
DWORD dwCopyFile; // CopyFileA()的地址
};
// ========== 远程线程的函数 ==============================
DWORD __stdcall RMTFunc(MyData *pData)
{
typedef int(__stdcall*_tCopyFile)(LPCSTR, LPCSTR, bool);
_tCopyFile copyfile = (_tCopyFile)pData->dwCopyFile;
copyfile(pData->srcfile, pData->destfile, true);
return 0;
}
//============空函数,其作用是方便获取注入线程函数的体积======
static void AfterMyFunc (void) {
}
//根据进程名获取进程id
DWORD processtopid(char *processname)
{ <
//
#include "stdafx.h"
#include "windows.h"
#include <conio.h>
#include <Psapi.h>
#pragma comment(lib, "Psapi.lib")
// ========== 传给注入线程的参数结构 ============
struct MyData
{
char srcfile[64]; //源文件地址
char destfile[64];//目标文件地址
DWORD dwCopyFile; // CopyFileA()的地址
};
// ========== 远程线程的函数 ==============================
DWORD __stdcall RMTFunc(MyData *pData)
{
typedef int(__stdcall*_tCopyFile)(LPCSTR, LPCSTR, bool);
_tCopyFile copyfile = (_tCopyFile)pData->dwCopyFile;
copyfile(pData->srcfile, pData->destfile, true);
return 0;
}
//============空函数,其作用是方便获取注入线程函数的体积======
static void AfterMyFunc (void) {
}
//根据进程名获取进程id
DWORD processtopid(char *processname)
{ <