Смотрите аргументы командной строки, передаваемые программе

Вы можете пропустить эту часть

Я использую командный файл, который у меня есть на моем флэш-накопителе, чтобы смонтировать настоящий том крипт. Я создал этот командный файл с помощью этой ссылки. в этом пакетном файле у меня есть имя пользователя и пароль, которые я передаю в качестве аргументов 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

от всех процессов с этой единственной командной строкой.

Другие вопросы по тегам