Siehe Befehlszeilenargumente, die an ein Programm übergeben werden

Sie können diesen Teil überspringen

Ich verwende eine Batch-Datei, die sich auf meinem USB-Stick befindet, um ein echtes Crypt-Volume bereitzustellen. Ich habe diese Batch-Datei mit Hilfe von erstelltdieser Link. In dieser Batch-Datei habe ich den Benutzernamen und das Kennwort, die ich als Argumente an trueCrypt.exe übergebe, damit sie bereitgestellt werden.

Wie auch immer, meine Frage ist: Ist es möglich zu sehen, dass die Argumente von einem Drittanbieterprozess an ein Programm übergeben werden? Mit anderen Worten, wird es möglich sein, die Argumente zu sehen, die an dieses Programm übergeben werden:

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?
    }
}
Bearbeiten

Ich erstelle eine Bearbeitung, weil ich glaube, dass ich mich selbst falsch erklärt habe, aber diese Bearbeitung sollte eine Lösung anstelle einer Frage sein

Ich denke, diese Frage hat nicht genug Beachtung gefunden. Ausführen des Befehls, der von angezeigt wirdhttps://stackoverflow.com/users/235660/alois-kraus zeigt an:

(Ich habe die Ausgabe auf Notepad ++ eingefügt)

Auf dem Bild ist es nicht sehr deutlich zu sehen, aber ich konnte sehen, dass das Argument an diesen Prozess weitergegeben wurde.Das ist mir sehr wichtig, weil ich meine wahren Crypt-Volumes mit dem folgenden Befehl einbinde:

"C: \ Programme \ TrueCrypt \ TrueCrypt.exe" / v "a: \ volume.tc" / lz / a / p a

das sagt truecrypt, dass ich das Volume mounten möchte, auf dem sich befindeta:\volume.tc auf Laufwerkbuchstabe z und das Passwort ista

Wenn ich diesen Befehl ausführe, wird true crypt dieses Volume auf Laufwerk z mounten:

das problem ist das wenn ich dann den befehl ausführewmic process Beachten Sie, welche Schuhe oben:

Beachten Sie, dass das Passwort dort ist!

Zusammenfassend ist es also nicht sicher, sichere Informationen als Argument zu übergeben. Es mag sicher sein, wenn Sie den Prozess schließen, der die Argumente erhalten hat, aber ich denke, es ist wichtig, sich dessen bewusst zu sein ...

Antworten auf die Frage(1)

Ihre Antwort auf die Frage