1

我对该/SWAPRUN选项(MSDN 链接)的理解是,它会导致将可执行文件加载到交换文件并从那里执行。

这种机制在 VB6 中是否可行?

4

2 回答 2

1

无法在 VB6.exe(即 IDE/编译器)中指定这一点。

但是,有一些插件可以“挂钩”编译和链接过程,或者您可以自己做一些努力。

最简单的方法是通过 EditBin.exe 或 Link.exe 重新编辑编译和链接的程序。EditBin 只是一个调用 Link 的存根,但 Link 是作为 VB6 的一部分安装的,因此您不妨直接运行它。

这样做的主要原因是优化从网络共享或 CD/闪存驱动器设备运行。它不会帮助您绕过安全措施、愚弄防病毒软件或采取任何类似“运行从 RAM 中提取的 EXE”黑客攻击的行为。

于 2012-03-06T15:32:20.550 回答
0

我们正在"C:\Program Files\Microsoft Visual Studio\VB98\LINK.EXE" /EDIT /NOLOGO /SWAPRUN:NET file.dll为我们的可移植版本执行所有 exe/dll/ocx。不幸的是,这并不能防止EXCEPTION_IN_PAGE_ERRORLAN 出现故障时引发异常。

系统组件(例如 COMCTL32.OCX)未使用 swaprun 标记,并且由 Microsoft 签名。编辑 PE 标头会导致数字证书损坏。

于 2012-03-06T20:09:12.800 回答