Я хочу ввести один метод, используя Mono.Cecil.Метод ввода с использованием Mono.Cecil?
Мой код выглядит так:
var worker = method.Body.GetILProcessor();
method.Body.Instructions.Clear();//Clear Old code
Я хочу, чтобы заменить код, как:
return getCpu();
Так я пишу:
List<Instruction> listStep = new List<Instruction>();
//listStep.Add(worker.Create(OpCodes.Nop));
//listStep.Add(worker.Create(OpCodes.Ldarg_0));
listStep.Add(worker.Create(OpCodes.Call,injectMethod));
//listStep.Add(worker.Create(OpCodes.Stloc_0));
//listStep.Add(worker.Create(OpCodes.Ldloc_0));
//listStep.Add(worker.Create(OpCodes.Br_S));
//listStep.Add(worker.Create(OpCodes.Stloc_1));
//listStep.Add(worker.Create(OpCodes.Ldloc_1));
listStep.Add(worker.Create(OpCodes.Ret));
foreach (var item in listStep)
{
worker.Append(item);
}
Но это не сработало.
Я в замешательстве с ИЛ. Кто-то может мне помочь? Большое спасибо.
Как именно это не сработало? Что оно делает? Вы пытались запустить peverify на модифицированной сборке? – svick