如何运行/创建来自缓冲区的数据的进程

时间:2019-04-23 16:31:16

标签: c++ arrays process buffer new-operator

我正在通过

读取程序的数据
    std::ifstream file("L:\\MyProgram.exe", std::ios::binary | std::ios::ate);
std::streamsize size = file.tellg();
file.seekg(0, std::ios::beg);

std::vector<char> buffer(size);
if (file.read(buffer.data(), size))
{
    printf("Okuma Basarili! size: %8X !!!\n",size);
    BYTE GOYH[] = { 236,176,249,27,13,158,4,0,114};
    for (int i = 0; i < size; i++)
    {
        if (!memcmp(&buffer[i], GOYH, sizeof GOYH))
        {
            printf("Found address: %8X\n", i);
            ZeroMemory(&buffer[i], sizeof GOYH);
            std::ofstream file("myfile.bin", std::ios::binary);
            file.write(&buffer[0], size);
            file.close();
        }
    }
}

我通过此处的代码读取文件数据。我正在通过零内存更改模式。之后,我要保存新文件。但是如果不保存此文件,我可以从缓冲区运行进程吗?编辑的值就是那个。

在CreateProcess中,它具有带文件路径的参数。但是我不想保存文件。

例如,在Winlicense中,有一个xbundler选项可以运行可执行文件而不将其解压缩。 感谢你的关心。等待您的帮助。对不起我的英语不好。我是中级:P

0 个答案:

没有答案