не могу отправить указанную команду c с StreamWriter, но при вводе команды вручную она работает - PullRequest
0 голосов
/ 24 января 2020

Я создал программу, которая создает дамп памяти, и я использую инструмент с открытым исходным кодом «dumpty» для создания строк из дампированной памяти

«dumpty» инструмент github

когда я открываю командную строку, использую инструмент и пишу эти четыре команды:

  1. cd dumpty_folder_ root
  2. dumpty -e repl
  3. load " dumped file name.dmp "
  4. строки dumpstrings

он работает нормально, и я получаю новую папку со строками

, но когда я отправляю команду через StreamWriter, это не так здесь вы можете увидеть код, который я использую:

dumptyProcess.StartInfo.UseShellExecute = false;
dumptyProcess.StartInfo.RedirectStandardInput = true;
dumptyProcess.StartInfo.RedirectStandardOutput = true;
dumptyProcess.StartInfo.FileName = Path.Combine(Environment.SystemDirectory, "cmd.exe");
dumptyProcess.StartInfo.CreateNoWindow = true;
dumptyProcess.Start();

//Encoding encoding = Encoding.Default;

StreamWriter wr = dumptyProcess.StandardInput;

string str = "load \""+dumpFilePath;

//StreamWriter wr = new StreamWriter(dumptyProcess.StandardInput.BaseStream, encoding);

wr.WriteLine("cd " + Directory.GetCurrentDirectory());
wr.WriteLine("dumpty -e repl");
wr.WriteLine(str);
wr.WriteLine("dumpstrings strings");
wr.Flush();
richTextBox_info.Text += "Running strings on dump file...\n";

Я знаю, что когда я использую StreamWriter , все команды работают, кроме третьей команды , которая загружает файл дампа, но я не не знаю, почему (опять же, если я делаю это вручную, это работает), я знаю, что все команды работают, потому что она создает папку строк, но не содержит строк внутри

вещей, которые я пробовал: 1. изменить имя файла дампа без пробелов и изменить команда без кавычек 2. попробуйте изменить кодировку g из dumptyProcess 3. Скопируйте каждую команду, которую я ввел при использовании cmd вручную, чтобы увидеть, работают ли они (они работали)

. По какой-то причине я не могу загрузить файл дампа, помогите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...