无法使用StreamWriter发送特定命令,但是当手动输入命令时,它的工作

我构建了一个转储内存的程序,我正在使用一种称为“ dumpty”的开源工具来制作转储内存的字符串

"dumpty" tool github

当我打开命令行时,使用该工具并编写以下四个命令:

  1. cd dumpty_folder_root
  2. dumpty -e repl
  3. 加载“转储文件名.dmp”
  4. 转储字符串

它工作正常,我得到了包含字符串的新文件夹

但是当我通过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.尝试更改dumptyProcess的编码 3.复制我在手动使用cmd时输入的每个命令,以查看它们是否起作用(确实如此)

由于某些原因我无法加载转储文件,请帮助

yddzipper 回答:无法使用StreamWriter发送特定命令,但是当手动输入命令时,它的工作

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2721663.html

大家都在问