检查/反汇编.Net原生图像

时间:2011-08-25 14:42:33

标签: .net disassembly ngen

是否可以反汇编/检查.Net JITer / ngen生成的本机代码? (纯粹用于学术目的)

在试图回答this question时,我对JITer会表现出什么样的优化感到好奇 - 而不是疯狂地猜测我真的希望能够亲眼看到真正的hapenning。

到目前为止我已经:

  1. 使用ngen安装了候选程序集的本机映像(这可能与JIT编译器的输出有所不同吗?)
  2. 将原始图片复制出GAC
  3. 但是现在我有点卡住 - 据我所知.Net程序集是portable execuable格式,但我可能用来反汇编这样一个文件(objdump)的正常工具只是barf:

    C:\Users\justin\Desktop>objdump -d ConsoleApplication1.ni.exe
    objdump: ConsoleApplication1.ni.exe: File format not recognized
    

    以这种方式窥视原生图像是否可行?如果失败了,我可以通过某种替代方式来满足我的好奇心吗? (例如在正在运行的过程中反汇编代码)

1 个答案:

答案 0 :(得分:1)

在尝试此类事情时,我在过去和windbg以及dumpbin取得了一些成功。