BYTE阵列中的功能直接记忆?

时间:2011-10-09 18:53:58

标签: function memory virtual byte

是否可以为包含函数的字节数组分配虚拟内存,将数组写入内存然后以某种方式在虚拟内存中执行该函数?

1 个答案:

答案 0 :(得分:0)

您必须确保要执行的字节确实是有效的CPU指令序列,否则“功能”肯定会崩溃,例如导致异常“非法指令”,“访问冲突”等。

接下来要做的是确保有问题的字节位于具有执行权限的内存中。 VirtualProtect PAGE_EXECUTE push <address>; ret;可以帮到您。

然后你要实际将控制传递给你的函数。这可以是汇编代码,例如{{1}}或C ++样式调用静态函数,其中地址为变量。