问题:
如何将存储在另一个c程序的堆或数据段中的非常规c程序作为汇编指令运行。
我的进展:
运行了一组简单的指令,用于将某些内容打印到stdout。这些指令存储在堆中,并允许执行包含指令的页面,然后调用原始数据,就像它是一个函数一样。这个方法很好地起作用了。
接下来,我想针对任何静态链接的c程序,只需读取其二进制文件并能够从另一个c程序中在内存中运行其主函数。
我认为存在以下问题: * 跳转到主函数代码所在的位置 * 更改链接时创建的二进制文件地址,使其相对于代码现在在内存中的位置
请告诉我我的方法是否正确,或者我是否错过了重要的东西以及最佳的解决方法。
谢谢!
exec
吗? - Kerrek SB