我们有一个调用helper exes并传递命令行参数来控制它们的执行的结构.由于可以看到命令行参数,因此可以由其他应用程序传递.我们希望我们的前任只能由我们召集. 我们如何以最小的变化
我们如何以最小的变化实现这一点并保持传递命令行参数的当前结构不变?
编辑1
可以识别呼叫者吗?例如将helper exe作为子进程调用并识别父进程
您根本无法隐藏命令行参数.您可以查看 How to clear a process command line?问题,并在那里查看答案和评论.如果你想坚持使用传递命令行参数,Raymond Chen就如何优雅地执行它有一个非常好的帖子:http://blogs.msdn.com/b/oldnewthing/archive/2003/12/11/56043.aspx.基本思想是使用匿名共享内存块来存储要在进程之间传递的实际数据,并传递数值把柄的.
重量级替代方案可能是加密/解密通过命令行传递的数据.或者附加一些生成的“秘密词”,以便被调用者可以验证它是否被您的某个应用程序调用.
我建议选择一种方法(以及相关的成本/收益)取决于风险:谁/为什么/何时将操纵您的帮助应用程序?