如何解决跟踪c#程序的反汇编
| 我正在尝试使用objdump理解对c#程序的反汇编,因为我正在使用不显示反汇编的vsiaul c#2008 Express版本。 我正在运行以下命令以获取输出:objdump -S ConsoleApplication4.exe
由于无法在反汇编输出中识别我的功能代码,因此我输入了一个虚拟变量,其值为0x1234。
public static void myfun()
{
int i;
i = 0x1234;
Console.WriteLine(i.ToString());
}
但是,我无法在生成的文件的任何位置找到1234的值!我为objdump尝试了其他选项-t或-T,但是它说没有找到符号表。有人可以告诉我如何使用objdump查看功能的反汇编,或者是否有其他免费工具?
编辑:我知道MSIL解散器,我想知道等效的汇编语言。
解决方法
除非您拥有NGEN应用程序,否则将其反汇编为汇编语言是没有道理的,因为MSIL直到运行时被固定才被编译为x86代码。
,如果这与C#而非C ++有关,请使用MSIL Disassembler。另外,如果您具有.Net Reflector,则FileDisassembler也是一个很好的工具。
以下是MSIL Disassembler完整示例示例及其msdn文章的链接。
http://www.mactech.com/articles/mactech/Vol.19/19.12/NETbinaries/index.html
http://msdn.microsoft.com/zh-CN/library/f7dy01k1%28v=vs.71%29.aspx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。