發表文章

目前顯示的是有「il」標籤的文章

Stub Generator

這個工具會分析既有的組件,並產生一份相同介面的 c# 源代碼,但是裡面沒有任何的實作。 Analyze existing DLL and generate C# source code for stub DLL containing the same public API but no implementation. 下載原始碼試過之後,發現程式有問題,可能要等官方釋出正式版本。 官方網站: http://www.codeplex.com/StubGenerator 消息來源: Noam Lampert: Stub Generator project

ILMerge

這是一個可以用來合併組件的工具,如果你想減少散佈的檔案時,這非常有用。 使用方法可以參考安裝目錄下的 ILMerge.doc。 官方網址: ILMerge

Mono.Cecil 的最佳搭檔 - Reflexil

Q.yuhen 的博客 有 專文:Mono.Cecil 最佳搭档 — Reflexil 介紹,文章裡還有教學 Video,請移駕過去看~ Reflexil is an assembly editor and runs as a plug-in for Reflector. Using Mono.Cecil, Reflexil is able to manipulate IL code and save the modified assemblies to disk. Reflexil also supports 'on the fly' C# and VB.NET code injection. 官方網站: http://sourceforge.net/projects/reflexil/

Dotnet IL Editor

Reflector 是個好工具,但他最主要的用途還是用來反組譯,並不是讓你直接編輯、重新組譯(雖然還是可以透過 Addin 做到)。 Dotnet IL Editor 則提供了這樣的功能,他可以反組譯為 IL,讓你編輯之後,再幫你重新組譯回去,對於要研究 IL 的人來說,可說是相當便利。

MSIL 教學文章

由 Q.yuhen 所發表的 MSIL 系列文章,相當不錯: [MSIL] 1. Hello, World! - Q.yuhen [MSIL] 2. Code Structure - Q.yuhen [MSIL] 3. Module - Q.yuhen [MSIL] 4. Namespace - Q.yuhen [MSIL] 5. Class - Flags - Q.yuhen [MSIL] 6. Class - Inheritance - Q.yuhen [MSIL] 7. Interface - Q.yuhen [MSIL] 8. Enum - Q.yuhen [MSIL] 9. Nested Type - Q.yuhen [MSIL] 10. Field - Q.yuhen [MSIL] 11. Method - Q.yuhen [MSIL] 12. Method - Parameter - Q.yuhen [MSIL] 13. Method - Stack - Q.yuhen [MSIL] 14. Method - Static, Instance, Virtual Methods - Q.yuhen [MSIL] 15. Method - Local Variables - Q.yuhen [MSIL] 16. Method - Overriding - Q.yuhen [MSIL] 17. Method - Constructors, Finalizers - Q.yuhen [MSIL] 18. Method - Overloading - Q.yuhen [MSIL] 19. Property - Q.yuhen [MSIL] 20. IL Instructions - Flow Control - Q.yuhen [MSIL] 21. IL Instructions - Arithmetical - Q.yuhen [MSIL] 22. IL Instructions - Arguments, Local Variables - Q.yuhen [MSIL] 23. IL Instructions - Field - Q.yuhen [MSIL] 24. IL Instructions - Calling Methods - Q.yuhen [M...

Mono Cecil

Mono Cecil 是一個可以用來作 IL injection 的 library,什麼是 IL injection??其實這有點像是 hack 的技術,你可以用這個 library 去操作 .Net 編譯出來的檔案,然後插入一些你自訂的程式碼或是作一些調整。如果你有興趣的話,不妨參考 Q.yuhen 的教學文章,相信看完頭兩篇,你就能明白他能作些什麼。 目前最新的版本是 0.5,下載網址在 這裡 。 Mono Cecil (1) - 基本操作 - Q.yuhen Mono Cecil (2) - 动态注入 - Q.yuhen Mono Cecil (3) - 程序集自动初始化操作 - Q.yuhen Mono Cecil (4) - 扩展程序集 - Q.yuhen