Смотрите аргументы командной строки, передаваемые программе
Вы можете пропустить эту часть
Я использую командный файл, который у меня есть на моем флэш-накопителе, чтобы смонтировать настоящий том крипт. Я создал этот командный файл с помощьюэта ссылка, в этом пакетном файле у меня есть имя пользователя и пароль, которые я передаю в качестве аргументов trueCrypt.exe для его монтирования.
В любом случае, поэтому мой вопрос: можно ли будет увидеть аргументы, передаваемые программе из стороннего процесса? Другими словами, будет ли возможно увидеть аргументы, передаваемые этой программе:
using System;
using System.Reflection;
using System.Diagnostics;
class Program
{
static string password = "";
static void Main(string[] args)
{
if (args.Length > 0)
password = args[0];
// get location where this program resides
var locationOfThisExe = Assembly.GetExecutingAssembly().Location;
Console.Write("Press enter to start a new instance of this program.");
Console.Read();
var randomArgument = new Random().NextDouble().ToString();
Process.Start(locationOfThisExe, randomArgument);
// I am passing a random argument to a new process!
// is it possible to see these arguments from another process?
}
}
редактироватьЯ создаю правку, потому что, по-моему, я неправильно объяснил себя, но это правка должна быть решением, а не вопросом.
Я думаю, что этот вопрос не получил достаточного внимания. Выполнение команды, показаннойhttps://stackoverflow.com/users/235660/alois-kraus показывает:
(Я вставил вывод в блокнот ++)
на изображении это не очень четко видно, но я смог увидеть, как аргумент передается этому процессу.Это очень важно для меня, потому что я монтирую свои настоящие тома склепа командой:
"C: \ Program Files \ TrueCrypt \ TrueCrypt.exe" / v "a: \ volume.tc" / lz / a / p a
что говорит truecrypt, что я хочу смонтировать том, расположенный вa:\volume.tc
на букву диска Z и парольa
Если я выполню эту команду, true crypt установит этот том на диск z:
проблема в том, что если я потом выполню командуwmic process
обратите внимание, что обувь:
Обратите внимание, что пароль там!
Таким образом, в целом, небезопасно передавать защищенную информацию в качестве аргумента. Это может быть безопасно, если вы закроете процесс, который получил аргументы, но я думаю, что важно знать об этом ...