Skip to content

Instantly share code, notes, and snippets.

@ldematte
Created December 8, 2015 13:32
Show Gist options
  • Save ldematte/aa4b101c8026ef24233f to your computer and use it in GitHub Desktop.
Save ldematte/aa4b101c8026ef24233f to your computer and use it in GitHub Desktop.
// Microsoft (R) .NET Framework IL Disassembler. Version 4.0.30319.33440
// Copyright (c) Microsoft Corporation. All rights reserved.
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly Project3
{
.custom instance void [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string) = ( 01 00 1C 2E 4E 45 54 46 72 61 6D 65 77 6F 72 6B // ....NETFramework
2C 56 65 72 73 69 6F 6E 3D 76 34 2E 35 2E 31 01 // ,Version=v4.5.1.
00 54 0E 14 46 72 61 6D 65 77 6F 72 6B 44 69 73 // .T..FrameworkDis
70 6C 61 79 4E 61 6D 65 14 2E 4E 45 54 20 46 72 // playName..NET Fr
61 6D 65 77 6F 72 6B 20 34 2E 35 2E 31 ) // amework 4.5.1
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module Project3.dll
// MVID: {E9C65A92-0C9A-42FC-A0FE-F30788C270A3}
.imagebase 0x10000000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x01210000
// =============== CLASS MEMBERS DECLARATION ===================
.class public auto ansi beforefieldinit N.A
extends [mscorlib]System.Object
{
.method public hidebysig newslot virtual
instance object M() cil managed
{
// Code size 11 (0xb)
.maxstack 1
.locals init (object V_0)
IL_0000: nop
IL_0001: ldstr "Hello"
IL_0006: stloc.0
IL_0007: br.s IL_0009
IL_0009: ldloc.0
IL_000a: ret
} // end of method A::M
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method A::.ctor
} // end of class N.A
.class public auto ansi beforefieldinit N.B
extends N.A
{
.method private hidebysig virtual final
instance object B_A_M() cil managed
{
.override N.A::M
// Code size 10 (0xa)
.maxstack 1
.locals init (object V_0)
IL_0000: nop
IL_0001: ldarg.0
IL_0002: tail.
IL_0004: callvirt instance class [mscorlib]System.IConvertible N.B::M()
IL_0009: ret
} // end of method B::M
.method public hidebysig newslot virtual
instance class [mscorlib]System.IConvertible
M() cil managed
{
// Code size 11 (0xb)
.maxstack 1
.locals init (class [mscorlib]System.IConvertible V_0)
IL_0000: nop
IL_0001: ldstr "hello"
IL_0006: stloc.0
IL_0007: br.s IL_0009
IL_0009: ldloc.0
IL_000a: ret
} // end of method B::M
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void N.A::.ctor()
IL_0006: ret
} // end of method B::.ctor
} // end of class N.B
.class public auto ansi beforefieldinit N.C
extends N.B
{
.method private hidebysig virtual final
instance object C_A_M() cil managed
{
.override N.A::M
// Code size 10 (0xa)
.maxstack 1
.locals init (object V_0)
IL_0000: nop
IL_0001: ldarg.0
IL_0002: tail.
IL_0004: callvirt instance string N.C::M()
IL_0009: ret
} // end of method C::M
.method private hidebysig virtual final
instance class [mscorlib]System.IConvertible
C_B_M() cil managed
{
.override N.B::M
// Code size 10 (0xa)
.maxstack 1
.locals init (class [mscorlib]System.IConvertible V_0)
IL_0000: nop
IL_0001: ldarg.0
IL_0002: tail.
IL_0004: callvirt instance string N.C::M()
IL_0009: ret
} // end of method C::M
.method public hidebysig newslot virtual
instance string M() cil managed
{
// Code size 11 (0xb)
.maxstack 1
.locals init (string V_0)
IL_0000: nop
IL_0001: ldstr "hello"
IL_0006: stloc.0
IL_0007: br.s IL_0009
IL_0009: ldloc.0
IL_000a: ret
} // end of method C::M
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void N.B::.ctor()
IL_0006: ret
} // end of method C::.ctor
} // end of class N.C
// =============================================================
// *********** DISASSEMBLY COMPLETE ***********************
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment