读书人

现在有一个 C#写的exe没有源码请教

发布时间: 2013-12-22 15:06:55 作者: rapoo

现在有一个 C#写的exe,没有源码,请问怎样在他运行的时候,捕获到程序 Console.writeline的内容呢?
不知道有没有什么工具,可以实现,先谢谢
[解决办法]
用Process类。。
[解决办法]
输出重定向


Process p = new Process();
// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = @"CslParentCls.exe";
p.Start();
// Do not wait for the child process to exit before
// reading to the end of its redirected stream.
// p.WaitForExit();
// Read the output stream first and then wait.
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();

[解决办法]
用Depends.exe或DUMPBIN.EXE查看.dll输入输出信息
VS里面自带的你搜索安装VS目录(Depends.exe)

然后利用反编译命令格式:
dumpbin /DISASM 你的文件.exe
[解决办法]
这个问题有点意思,我还没点击进来的时候就想到了Process类,但楼主却欲言又止,说:“我不能运行他,或者说不能这么简单的运行起来”,楼主要不干脆把需求说出来,看看有没有别的办法,不然除了Process类,你就只有用的反射去动态的new类里面的对象,然后再分析,然后再用new出来的对象,去执行。如果是控制台程序,那么就new它的入口类,然后用对象去Invoke了。

读书人网 >C#

热点推荐