拦截命令开关

时间:2010-11-09 12:43:06

标签: windows execution application-design

在Windows中是否可以拦截从一个应用程序传递到另一个应用程序的命令开关?

为了澄清,假设我们有两个二进制文件:包装器和主要可执行文件。如果包装器随执行一起传递适当的命令(例如program.exe / start 12345),则只能正确启动可执行文件。

1 个答案:

答案 0 :(得分:2)

如果您正在讨论拦截现有应用程序,请务必使用包装器替换可执行文件。因此,例如,如果您想拦截AcroRd32.exe,只需将其重命名为MyAcroRd32.exe并编写您自己的AcroRd32.exe

  • 对参数做了一些事情(存储它们,更改它们,打印它们......);然后
  • 调用MyAcroRd32.exe作为第二阶段(假设你想根据参数)。

如果你在谈论不允许可执行文件,除了包装器,我也使用你提出的方法(在UNIX下,但理论是相同的) - 我让包装器传递了超级sekrit密码({ {1}})在命令行上(或在环境中),以便可执行文件在没有它的情况下什么都不做。

这不是防弹,但事情很少发生。除了最坚定的人之外,它通常会阻止所有人。