Смотрите аргументы командной строки, передаваемые программе
Вы можете пропустить эту часть
Я использую командный файл, который у меня есть на моем флэш-накопителе, чтобы смонтировать настоящий том крипт. Я создал этот командный файл с помощью этой ссылки. в этом пакетном файле у меня есть имя пользователя и пароль, которые я передаю в качестве аргументов 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?
}
}
редактировать
Я создаю правку, потому что я думаю, что объяснил себя неправильно, но это правка должна быть решением, а не вопросом.
Я думаю, что этот вопрос не получил достаточного внимания. Выполнение команды, показанной на Alois Kraus показывает:
(Я вставил вывод в блокнот ++)
на изображении это не очень четко видно, но я смог увидеть аргумент, передаваемый этому процессу. Это очень важно для меня, потому что я монтирую свои настоящие тома склепа с помощью команды:
"C: \ Program Files \ TrueCrypt \ TrueCrypt.exe" / v "a: \ volume.tc" / lz / a / pa
что говорит truecrypt, что я хочу смонтировать том, расположенный на a:\volume.tc
на букву диска Z и пароль a
Если я выполню эту команду, true crypt установит этот том на диск z:
проблема в том, что если я затем выполню команду wmic process
обратите внимание, что обувь:
Обратите внимание, что пароль там!
Таким образом, в общем, небезопасно передавать защищенную информацию в качестве аргумента. Это может быть безопасно, если вы закроете процесс, который получил аргументы, но я думаю, что важно знать об этом...
1 ответ
Если другие пользователи с правами администратора или с той же учетной записью могут выполнять программы, вы можете увидеть все командные строки с
wmic process
от всех процессов с этой единственной командной строкой.