ildasm 命令行參數用法

在介紹 ildasm.exe 的命令行使用語法之前,先來看下單獨執行 ildasm.exe 的UI畫面


image 


D:\Learning\[電子工業] .NET 4.0 面向對象編程漫談(基礎篇)\App A 面向對象的匯編語言:IL基礎教程>ildasm /?
Microsoft (R) .NET Framework IL Disassembler. Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.

使用方式: ildasm [options] <file_name> [options]

輸出重新導向的選項:
/OUT=<file name> 將輸出導向至檔案而不要送至 GUI。
/TEXT 將輸出導向至主控台視窗而不要送至 GUI。

/HTML 以 HTML 格式輸出 (必須搭配 /OUT 選項才能使用)。
/RTF 以 Rich Text Format 輸出 (搭配 /TEXT 選項使用時無效)。
GUI 或檔案/主控台輸出選項 (僅限 EXE 和 DLL 檔案):
/BYTES 以十六進位格式顯示實際位元組做為指令註解。
/RAWEH 以未經處理格式顯示例外狀況處理子句。
/TOKENS 顯示類別和成員的中繼資料語彙基元 (Token)。
/SOURCE 將原來的原始程式行顯示成註解。
/LINENUM 將參考包含於原來的原始程式行中。
/VISIBILITY=<vis>[+<vis>...] 僅反組譯具指定可視性的項目。
(<vis> = PUB | PRI | FAM | ASM | FAA | FOA | PSC)
/PUBONLY 僅反組譯公用項目 (與 /VIS=PUB 相同)。
/QUOTEALLNAMES 將所有的名稱加註單引號。
/NOCA 隱藏自訂屬性的輸出。
/CAVERBAL 以動詞化格式輸出 CA BLOB (預設值 - 二進位格式)。
/NOBAR 隱藏反組譯進度列的快顯視窗。

下列選項僅可用於檔案/主控台的輸出:
EXE 和 DLL 檔案的選項:
/UTF8 輸出使用 UTF-8 的編碼方式 (預設值 - ANSI)。
/UNICODE 輸出使用 UNICODE 的編碼方式。
/NOIL 隱藏 IL 組譯工具的程式碼輸出。
/FORWARD 使用 forward 類別宣告。
/TYPELIST 輸出完整的型別清單 (反覆存取時保留型別順序)。
/HEADERS 在輸出中包含檔案標頭資訊。
/ITEM=<class>[::<method>[(<sig>>)] 僅反組譯指定的項目

/STATS 包含影像中的統計資料。
/CLASSLIST 包含定義於模組中的類別清單。
/ALL /HEADER、/BYTES、/STATS、/CLASSLIST、/TOKENS 的組合

EXE、DLL、OBJ 和 LIB 檔案的選項:
/METADATA[=<specifier>] 顯示中繼資料,其中的 <specifier> 代表:
MDHEADER 顯示中繼資料的標頭資訊和大小。
HEX 使用十六進位和文字顯示更多資訊。
CSV 顯示記錄計數和堆積大小。
UNREX 顯示無法解析的外部符號。
SCHEMA 顯示中繼資料的標頭和結構描述資訊。
RAW 顯示原始中繼資料的表格。
HEAPS 顯示原始的堆積。
VALIDATE 驗證中繼資料的一致性。

僅適用於 LIB 檔案的選項:
/OBJECTFILE=<obj_file_name> 顯示程式庫中單一物件檔案的中繼資料

選項可用 '-' 或 '/' 起始,會以前 3 個字元來識別選項

範例: ildasm /tok /byt myfile.exe /out=myfile.il


D:\Learning\[電子工業] .NET 4.0 面向對象編程漫談(基礎篇)\App A 面向對象的匯編語言:IL基礎教程>

沒有留言: