c# - 反編譯 - x86 assembler




從C#代碼生成彙編代碼? (2)

C#代碼編譯成MSIL(MS中間語言),這實際上不是你從C編譯器得到的真正的代碼。 閱讀有關.NET Framework應用程序如何運行的更多信息。

如果您想查看生成的IL代碼,請參閱此問題

有什麼辦法從C#代碼生成彙編代碼? 我知道使用GAS的C代碼是可能的,但是有人知道是否可以用C#嗎?


C#通常編譯為.NET字節碼(稱為CIL或MSIL ),然後在程序實際運行時編譯為本地代碼的JIT (“Just In Time”)。 像Mono的AOT這樣的C#編譯器已經超前了,所以你可以通過其中一個編譯一個C#程序,然後反彙編它。 其結果可能是非常難以遵循的。

更有可能的是,你可能想看看比CPU的彙編代碼更高一級的字節碼,你可以通過在C#程序的編譯.exe 文件上使用ILdasm來完成。





gas