当前位置:  开发笔记 > 编程语言 > 正文

我想隐藏从system()发出的系统命令

如何解决《我想隐藏从system()发出的系统命令》经验,为你挑选了1个好方法。

用c ++编写程序,我想从system()函数发出系统命令,但我不希望用户在可执行文件窗口中看到命令(因为命令包含一个pwd).我需要将用户目录中的文件复制到服务器上,而不允许用户访问服务器或显示pwd.想象有一个执行此操作的.exe是最简单的方法.

例如:

system("FILETRANSFER_SW.exe -pw helloWORLD11!@ C:/temp.txt F:/ tempfolder /")

但是可执行窗口显示此命令,因此无法尝试隐藏密码.

我尝试在程序开头发出系统("@ echo OFF"),但这并没有抑制以下命令,它们仍然显示在可执行文件窗口中.

有什么建议?

谢谢...



1> Joachim Saue..:

在大多数操作系统中,运行进程的命令行被视为公共信息.

因此,在命令行上传递密码是一个非常糟糕的主意.

这个问题有两种常见的解决方法,这两种方法都需要支持被调用的可执行文件:

而不是在命令行上传递用户名/密码,传递包含用户名/密码的文件的名称

从被调用的可执行文件中重新设置正在运行的进程的命令行.

第一个解决方案很简单,普遍可行,第二个解决方案具有竞争条件并且更难实现,因为没有跨平台的方法(在某些操作系统上,更改argv会有所帮助).

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有