是否可以反編譯.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. 反編譯非PC二進制文件
- 2. LLVM編譯JIT二進制
- 3. 編譯matlab linux二進制
- 4. 編譯二進制文件
- 5. 二進制翻譯|交叉編譯
- 6. .Net 1.1反編譯工具
- 7. 將x86 PE二進制文件反編譯爲C?
- 8. 將一個文件「反編譯」爲原始二進制代碼
- 9. Windows Phone 8從二進制反編譯Appx
- 10. 反編譯iOS的Objective-C的二進制
- 11. 如何從Windows反編譯Linux二進制文件?
- 12. 編譯x86系統上的C#.NET x64二進制文件
- 13. gdb:使用-g編譯的二進制文件與使用-g編譯的二進制編譯的代碼
- 14. 二進制反轉
- 15. .NET二進制XML
- 16. PIC的十六進制反編譯器
- 17. Visual C++編譯扁平二進制
- 18. 創建編譯庫的二進制包
- 19. pip編譯vs二進制文件
- 20. 使用VexCL「編譯二進制文件」
- 21. pthreads編譯但未創建二進制
- 22. 編譯OpenSSL的二進制靜態
- 23. 如何編譯二進制文件?
- 24. C++:二進制搜索編譯錯誤
- 25. 與Clozure Common Lisp的編譯二進制
- 26. php的二進制代碼(編譯php)
- 27. 二進制翻譯
- 28. 二進制翻譯
- 29. 如何使用C#6.0編譯.NET 2.0?
- 30. 從源代碼編譯時2.0播放二進制文件在哪裏?
請記住,你*可能*最終會違反許可協議...... – 2010-02-16 16:25:42