我想在 Windows 上执行内存中的程序。我不想将文件写入磁盘。我只想传入一个字节数组(这是我要执行的程序)作为参数。
我不够熟练,无法编写 native 代码来执行此操作。同样,这应该是 Windows 原生的。
我要在内存中执行的程序不是 Java 程序。它是一个可执行文件 (.exe)!可执行文件应在内存中读取和运行,而不是通过 Runtime.getRuntime().exec("example.exe");
最佳答案
我还不能发表评论,否则我会的。您应该能够在这里找到一些有用的信息,人们正在尝试使用 C++ 解决相同的问题。请告诉我,您是要编写一个跨平台的程序,还是仅适用于 Windows 的程序?您使用“.exe”表示仅限 Windows。
CreateProcess from memory buffer
只要您不尝试跨平台,理论上您应该能够通过使用 Windows API 调用来完成这项工作。
关于java - 在 Java 中从内存中执行一个可执行程序(.exe),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11087612/