小编404*_*und的帖子

C++在内存中运行字节数组

我试图研究我认为被称为发射器的东西?概念是将所有二进制文件写入缓冲区,然后将缓冲区加载到内存中.我已经看到这个代码反复弹跳(我编写了exe,所以我可以访问其中的代码.):

//HardCoded Binary For testing Reason, reading to launch didn't work neither did this
char RawCode[11414] = {
0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xFF, 0xFF, ............................................... 0x00, 0x00,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}


//Main Function
int main(int argc, char* argv[])
{
    int(*f)();
    f = (int(*)())&RawCode;
    (int)(*f)();
}
Run Code Online (Sandbox Code Playgroud)

我的原始想法可能是空字节影响执行导致访问冲突,所以经过一些研究后我发现一个消息框shellcode格式为"/x41/x41/.......x41/",没有空字节而这仍然没有奏效.由于没有太多关于此的信息,我有点迷茫.有没有人对一些好的文章或有用的教程有一些参考,因为我找不到任何帮助.谢谢大家的时间!

c++ memory

3
推荐指数
2
解决办法
4446
查看次数

标签 统计

c++ ×1

memory ×1