相关疑难解决方法(0)

是否可以在C#中执行x86汇编序列?

继续我的逆向工程教育我经常希望能够复制部分x86汇编代码并从我选择的高级语言中调用它进行测试.

有没有人知道从C#方法中调用x86指令序列的方法?我知道这可以使用C++完成,但我很好奇是否可以在C#中完成?

注意:我不是在谈论执行MSIL指令.我在谈论执行一系列原始x86汇编指令.

c# assembly

25
推荐指数
2
解决办法
1万
查看次数

"rdtsc"之前的"cpuid"

有时我会遇到使用rdtsc指令读取TSC的代码,但cpuid之前会调用.

为什么要打电话cpuid?我意识到这可能是与有TSC的值不同的内核,但什么究竟,当你调用序列这两个指令会发生什么?

x86 assembly rdtsc

18
推荐指数
2
解决办法
3826
查看次数

测量函数调用的CPU周期

我正在寻找一种方法来测量线程上的函数调用所需的cpu周期.

伪代码示例:

void HostFunction()
{
     var startTick = CurrentThread.CurrentTick;  //does not exist

     ChildFunction();

     var endTick = CurrentThread.CurrentTick;  //does not exist

     var childFunctionCost = endTick - startTick;
}

void ChildFunction() 
{
    //Do whatever...

    Thread.Sleep(3000);

    //Do some more...
}
Run Code Online (Sandbox Code Playgroud)

我不想使用秒表或其他时间测量,因为它将包括线程正在休眠的任何时间,我不想测量.我只想衡量实际工作.

这个测量需要在运行时工作,就像在我的伪代码中一样,因为结果用于确定是否应该允许子函数继续运行(我的实例是一个插件类型的体系结构),因此一个分析工具赢了'帮帮我

.net c# .net-4.5

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

标签 统计

assembly ×2

c# ×2

.net ×1

.net-4.5 ×1

rdtsc ×1

x86 ×1