C#dnlib / IL代码 - 创建一个新的字典

时间:2018-01-27 14:55:02

标签: c# cil ildasm dnlib

我正在创建自己的程序,通过dnlib更改.exe代码。
然后我想通过IL和Dnlib代码创建一个Dictionary。
但是两者的教程都不多,所以很难 它写错了字典代码并使DnSpy崩溃。
我的代码:

            MethodDef cctor = Module.GlobalType.FindOrCreateStaticConstructor();
        IList<Instruction> inst = cctor.Body.Instructions;
        var objectCtor = new MemberRefUser(Module, ".ctor",
                    MethodSig.CreateInstance(Module.CorLibTypes.Void),
                    Module.CorLibTypes.Object.TypeDefOrRef);
        var Global_Array = new FieldDefUser(
"field_obfuscator_array",
new FieldSig(Module.CorLibTypes.GetCorLibTypeSig(,
FieldAttributes.Public | FieldAttributes.Static);
        Module.GlobalType.Fields.Add(Global_Array);
        if (inst.Count < 1)
            inst.Add(new Instruction(OpCodes.Ret));
        inst.Insert(0, new Instruction(OpCodes.Ldc_I4, 100000));
        inst.Insert(1, new Instruction(OpCodes.Newobj, "[mscorlib]System.Collections.Generic.Dictionary`2"));
        inst.Insert(2, new Instruction(OpCodes.Stsfld, Global_Array));

非常感谢任何帮助,谢谢!

0 个答案:

没有答案