2010-11-09 39 views
0

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

为了澄清,想象我们有两个二进制文件:一个包装器和一个主要的可执行文件。如果包装器在执行过程中传递适当的命令(例如,program.exe/start 12345),则可执行文件才会正确启动。

回答

2

如果你正在谈论拦截现有的应用程序,当然,你可以用你的包装器替换可执行文件。因此,举例来说,如果你想拦截AcroRd32.exe,只需将其重命名为MyAcroRd32.exe,写自己AcroRd32.exe其中:

  • 做一些事的参数(存储它们,改变它们,打印出来,...);然后
  • 作为第二阶段调用MyAcroRd32.exe(假设您想根据参数)。

如果你在谈论不允许执行除由包装,我也用你建议的方法(UNIX下但理论是一样的) - 我有包装传递一个超级sekrit在命令行(或环境中)输入密码("deoxyribonucleic"),以便可执行文件在没有这些的情况下不会执行任何操作。

它不是防弹的,但很少有。它通常会阻止所有但最坚定的人。

+0

我想你可以通过添加一个你想执行的二进制文件的设置校验和来包装? – Konrad 2010-11-09 13:01:10