-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