相关疑难解决方法(0)

从字节数组运行程序

我有一个存储在字节数组中的程序.

是否可以在C#中运行它?

c# arrays byte

16
推荐指数
4
解决办法
1万
查看次数

C#代码注入

你可以使用Windows钩子或其他方法用c#进行代码注入吗?我已经看到很多关于代码注入的东西,但所有这些都是用C/C++完成的.我不知道这些语言中的任何一种,并且很难翻译.有没有人对如何做到这一点有任何想法?

c# code-injection

13
推荐指数
1
解决办法
4万
查看次数

如何从内存中运行下载的文件?

可能重复:
加载EXE文件并使用C#从内存运行它

我正在使用WebClient类从Web服务器下载.exe.有没有办法可以运行.exe而不先将其保存到磁盘?

为了完整起见,让我告诉你到目前为止我所拥有的.

这是我用来开始下载的代码:

WebClient webClient = new WebClient();
webClient.DownloadDataCompleted += new DownloadDataCompletedEventHandler(webClient_DownloadDataCompleted);
webClient.DownloadDataAsync(new Uri("http://www.somewebsite.com/calc.exe"));
Run Code Online (Sandbox Code Playgroud)

在(webClient_DownloadDataCompleted)方法中,我只需从参数e中获取字节:

private void webClient_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
    Byte[] downloadedData = e.Result;
    // how to run this like a .exe?
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# webclient exe bytearray download

6
推荐指数
1
解决办法
2470
查看次数

执行Byte数组作为新程序

我正在创建一个程序,看看我是否可以在C#中运行一个字节数组.

该程序应该获取一个字节数组"MyBinaryData"并加载+运行它作为一个新程序.将有一个文本框,您可以在其中输入字节以查看结果(这是一个实验;)).我试过这个:

 byte[] binaryData = System.IO.File.ReadAllBytes("MyBytes.txt");  // the bytes are in a .txt file for simple tests before becoming a textbox.
 Assembly LoadByte = Assembly.Load(binaryData);
        MethodInfo M = LoadByte.EntryPoint;

        if (M != null)
        {                object o = LoadByte.CreateInstance(M.Name);
            M.Invoke(o, new Object[] { null });  // this gives the error
        } 
        else {  
         ..... fail code here.... 
             } 
Run Code Online (Sandbox Code Playgroud)

问题是它给出了这个错误:"System.Reflection.TargetInvocationException:......必须在应用程序中创建第一个IWin32Window对象之前调用SetCompatibleTextRenderingDefault."

我的第二个测试是:

 Assembly assembly = Assembly.Load(binaryData);

 Type bytesExe = assembly.GetType(); // problem: the GetType(); needs to know what class to run.
 Object inst …
Run Code Online (Sandbox Code Playgroud)

c# bytearray

5
推荐指数
1
解决办法
4165
查看次数

有没有办法从C#调用RDTSC汇编指令?

我想为我的C#应用​​程序提供一个非常高分辨率的计时器.我想访问RDTSC汇编指令.有没有办法做到这一点?

编辑:我正在移植一些C++代码并尝试保留与原始相同的功能.我可能会切换到更多的.NET,但想要评估RDTSC指令,以便我可以将结果与原始结果进行比较.

c#

5
推荐指数
1
解决办法
1547
查看次数

标签 统计

c# ×5

bytearray ×2

arrays ×1

byte ×1

code-injection ×1

download ×1

exe ×1

webclient ×1