0

我有一个特定的专有应用程序,它是双重用途的,在 CGI 上下文中运行“account.exe”(例如,从 Web 服务器内部)将使 account.exe 输出 HTML 页面等。在 CGI 上下文之外运行“account.exe”会导致 account.exe 启用某些命令行功能。

现在问题来了:我想在 perl 的 CGI 上下文之外运行 account.exe。已尝试使用 system(1, "command"); 已尝试使用 system("start command"),尝试使用 BAT 包装器清除 (SET VARIABLE=) 每个与 CGI 相关的环境变量,但 account.exe 仍然“检测到”它由 Web 服务器运行并输出它的 HTML。

如何在 perl 的 CGI 脚本中运行 windows 命令(使用草莓 perl)并让“account.exe”应用程序无法检测到执行最初来自 Web 服务器?

4

1 回答 1

1

account.exe 可以通过多种方式检测它的运行方式。

环境变量是一种方式;看来你已经排除了那个。

通常进程可以看到谁是他们的父母和他们的父母,所以这可能是其他方式。

因此,要么您可以进行大量测试,直到最终欺骗进程使用的特定技术,或者您可能想尝试沙盒以更好地控制进程可以看到(或做)什么。

于 2013-04-19T23:35:15.197 回答