-1
林做的是重新編譯executeables與modifyed IL代碼的事情,需要得到操作碼指令(無類,方法等只是說明) ,這樣我可以只添加/替換它在方法中,然後重新編譯它。我如何編譯C#代碼的IL代碼指令
是有什麼方法,我可以編譯此C#代碼:
int a = 5;
int b = 24;
Console.WriteLine("{0} * {1} = {2}",a,b,a*b);
的IL代碼:
.entrypoint
// Code size 38 (0x26)
.maxstack 5
.locals init ([0] int32 a,
[1] int32 b)
IL_0000: nop
IL_0001: ldc.i4.5
IL_0002: stloc.0
IL_0003: ldc.i4.s 24
IL_0005: stloc.1
IL_0006: ldstr "{0} * {1} = {2}"
IL_000b: ldloc.0
IL_000c: box [mscorlib]System.Int32
IL_0011: ldloc.1
IL_0012: box [mscorlib]System.Int32
IL_0017: ldloc.0
IL_0018: ldloc.1
IL_0019: mul
IL_001a: box [mscorlib]System.Int32
IL_001f: call void [mscorlib]System.Console::WriteLine(string,
object,
object,
object)
IL_0024: nop
IL_0025: ret
,這樣我可以取代它與ilassem重組呢?
如何使用C#編譯器,然後反彙編? – thehennyy
你可以編譯C#代碼,以便它只是內部的函數? – eim64
那麼你將有一個包含這種方法的類型。 – thehennyy