是否可以反编译.NET 2.0二进制文件(* .exe)的,以某种可读的代码?或者,如果没有,只需从中提取一些信息(例如方法名称,调试信息等)?反编译.NET 2.0二进制
2
A
回答
15
3
删除的exe到ILDASM或点净反射应该做的伎俩。
1
搜索卢茨罗德,你会发现:
0
是。首先所有的.net库都有类型信息清单。他们可以使用反射或通过使用反射镜等工具进行问题询问。看看你需要查看的类的system.reflection命名空间。
1
我会引用自己从这个question earlier today:
你永远无法回到确切 同一来源,因为有关于保存在 编译的代码没有 元数据。
但是你可以从出来的 汇编代码重新创建代码。
看看这本书,如果你对这些东西感兴趣 :逆向: 逆向工程的秘密。
编辑
一些编译器-101在这里,如果你 定义与另一个词 一个编译器而不是技术为“编译”, 那会是什么?
答:翻译
编译器翻译语法/ 短语,你已经写进另一个 语言C编译器转化为 大会甚至机器代码。 C#代码 被翻译成IL等等。
你的可执行文件只是一个 翻译的原文/ 语法的,如果你想“扭转为” 因此“它翻译回”,你会 最有可能还不如你有得到相同的结构 在开始时。
如果 你从英语译成德文 和从德国回英语更现实生活中的例子是, 的森泰斯结构最 有可能是不同的,可能 可以使用其他的话,但意思,上下文中, 很可能没有改变。
也是一样的编译器/ 翻译,如果你在C到ASM, 的逻辑是一样的,它只是一个 的阅读它不同的方式(和 当然它的优化)。
关于C#,您已经获得了许多很棒的工具,如Reflector。但是,如果代码被混淆,您将在阅读时遇到问题。
相关问题
- 1. 编译matlab linux二进制
- 2. 编译二进制文件
- 3. LLVM编译JIT二进制
- 4. 二进制翻译|交叉编译
- 5. 将x86 PE二进制文件反编译为C?
- 6. Windows Phone 8从二进制反编译Appx
- 7. 如何从Windows反编译Linux二进制文件?
- 8. 反编译iOS的Objective-C的二进制
- 9. gdb:使用-g编译的二进制文件与使用-g编译的二进制编译的代码
- 10. pthreads编译但未创建二进制
- 11. 与Clozure Common Lisp的编译二进制
- 12. pip编译vs二进制文件
- 13. 如何编译二进制文件?
- 14. php的二进制代码(编译php)
- 15. C++:二进制搜索编译错误
- 16. .NET二进制XML
- 17. 二进制翻译
- 18. 二进制翻译
- 19. PIC的十六进制反编译器
- 20. 从源代码编译时2.0播放二进制文件在哪里?
- 21. 反向二进制数字
- 22. 二进制相反数
- 23. GCC编译的二进制文件给予 “不能执行二进制文件”
- 24. g ++编译的二进制文件给“不能执行二进制文件”
- 25. Java二进制翻译?
- 26. Java二进制翻译器
- 27. 如何强制Visual Studio使用.Net 2.0编译器?
- 28. .net Reflector反编译C#代码不会编译
- 29. 反正有没有在Lazarus/Free pascal编译二进制文件中包含libc.so?
- 30. 如何编译C++在Linux上进行,以使Windows二进制
请记住,你*可能*最终会违反许可协议...... – 2010-02-16 16:25:42