+支持nested class的全名解析
v1.8
+支持 字段,和方法的签名解析。
解码效果如下基本上和 ildasm的一样,
大家使用中如果遇到解码效果和ildasm不一样的欢迎给我留言,我会在研究后更新。
IL_0000: nop
IL_0001: nop
IL_0002: ldstr ""
IL_0007: stloc.0
IL_0008: ldstr "Win32_Processor"
IL_000D: newobj instance void [System.Management]System.Management.ManagementClass::.ctor(string )
IL_0012: stloc.1
IL_0013: ldloc.1
IL_0014: callvirt instance class [System.Management]System.Management.ManagementObjectCollection [System.Management]System.Management.ManagementClass::GetInstances()
IL_0019: stloc.2
IL_001A: nop
IL_001B: ldloc.2
IL_001C: callvirt instance class [System.Management]System.Management.ManagementObjectCollection/ManagementObjectEnumerator [System.Management]System.Management.ManagementObjectCollection::GetEnumerator()
IL_0021: stloc.s 0x5
IL_0023: br.s IL_004F
IL_0025: ldloc.s 0x5
IL_0027: callvirt instance class [System.Management]System.Management.ManagementBaseObject [System.Management]System.Management.ManagementObjectCollection/ManagementObjectEnumerator::get_Current()
IL_002C: castclass [System.Management]System.Management.ManagementObject
IL_0031: stloc.3
IL_0032: nop
IL_0033: ldloc.3
IL_0034: callvirt instance class [System.Management]System.Management.PropertyDataCollection [System.Management]System.Management.ManagementBaseObject::get_Properties()
IL_0039: ldstr "ProcessorId"
IL_003E: callvirt instance class [System.Management]System.Management.PropertyData [System.Management]System.Management.PropertyDataCollection::get_Item(string )
IL_0043: callvirt instance object [System.Management]System.Management.PropertyData::get_Value()
IL_0048: callvirt instance string [mscorlib]System.Object::ToString()
IL_004D: stloc.0
IL_004E: nop
IL_004F: ldloc.s 0x5
IL_0051: callvirt instance bool [System.Management]System.Management.ManagementObjectCollection/ManagementObjectEnumerator::MoveNext()
IL_0056: stloc.s 0x6
IL_0058: ldloc.s 0x6
IL_005A: brtrue.s IL_0025
IL_005C: leave.s IL_0072
IL_005E: ldloc.s 0x5
IL_0060: ldnull
IL_0061: ceq
IL_0063: stloc.s 0x6
IL_0065: ldloc.s 0x6
IL_0067: brtrue.s IL_0071
IL_0069: ldloc.s 0x5
IL_006B: callvirt instance void [mscorlib]System.IDisposable::Dispose()
IL_0070: nop
IL_0071: endfinally
IL_0072: nop
IL_0073: ldnull
IL_0074: stloc.2
IL_0075: ldnull
IL_0076: stloc.1
IL_0077: ldloc.0
IL_0078: stloc.s 0x4
IL_007A: leave.s IL_008A
IL_007C: pop
IL_007D: nop
IL_007E: ldstr "unknow"
IL_0083: stloc.s 0x4
IL_0085: leave.s IL_008A
IL_0087: nop
IL_0088: nop
IL_0089: endfinally
IL_008A: nop
IL_008B: ldloc.s 0x4
IL_008D: ret
IL_0001: nop
IL_0002: ldstr ""
IL_0007: stloc.0
IL_0008: ldstr "Win32_Processor"
IL_000D: newobj instance void [System.Management]System.Management.ManagementClass::.ctor(string )
IL_0012: stloc.1
IL_0013: ldloc.1
IL_0014: callvirt instance class [System.Management]System.Management.ManagementObjectCollection [System.Management]System.Management.ManagementClass::GetInstances()
IL_0019: stloc.2
IL_001A: nop
IL_001B: ldloc.2
IL_001C: callvirt instance class [System.Management]System.Management.ManagementObjectCollection/ManagementObjectEnumerator [System.Management]System.Management.ManagementObjectCollection::GetEnumerator()
IL_0021: stloc.s 0x5
IL_0023: br.s IL_004F
IL_0025: ldloc.s 0x5
IL_0027: callvirt instance class [System.Management]System.Management.ManagementBaseObject [System.Management]System.Management.ManagementObjectCollection/ManagementObjectEnumerator::get_Current()
IL_002C: castclass [System.Management]System.Management.ManagementObject
IL_0031: stloc.3
IL_0032: nop
IL_0033: ldloc.3
IL_0034: callvirt instance class [System.Management]System.Management.PropertyDataCollection [System.Management]System.Management.ManagementBaseObject::get_Properties()
IL_0039: ldstr "ProcessorId"
IL_003E: callvirt instance class [System.Management]System.Management.PropertyData [System.Management]System.Management.PropertyDataCollection::get_Item(string )
IL_0043: callvirt instance object [System.Management]System.Management.PropertyData::get_Value()
IL_0048: callvirt instance string [mscorlib]System.Object::ToString()
IL_004D: stloc.0
IL_004E: nop
IL_004F: ldloc.s 0x5
IL_0051: callvirt instance bool [System.Management]System.Management.ManagementObjectCollection/ManagementObjectEnumerator::MoveNext()
IL_0056: stloc.s 0x6
IL_0058: ldloc.s 0x6
IL_005A: brtrue.s IL_0025
IL_005C: leave.s IL_0072
IL_005E: ldloc.s 0x5
IL_0060: ldnull
IL_0061: ceq
IL_0063: stloc.s 0x6
IL_0065: ldloc.s 0x6
IL_0067: brtrue.s IL_0071
IL_0069: ldloc.s 0x5
IL_006B: callvirt instance void [mscorlib]System.IDisposable::Dispose()
IL_0070: nop
IL_0071: endfinally
IL_0072: nop
IL_0073: ldnull
IL_0074: stloc.2
IL_0075: ldnull
IL_0076: stloc.1
IL_0077: ldloc.0
IL_0078: stloc.s 0x4
IL_007A: leave.s IL_008A
IL_007C: pop
IL_007D: nop
IL_007E: ldstr "unknow"
IL_0083: stloc.s 0x4
IL_0085: leave.s IL_008A
IL_0087: nop
IL_0088: nop
IL_0089: endfinally
IL_008A: nop
IL_008B: ldloc.s 0x4
IL_008D: ret
下载地址:
http://www.bbsftp.com/temp/ILByteDecoderV1.85.rar