0
Mono.Cecilを使用して1つのメソッドを注入したいと考えています。私は次のようなコードを交換したいMono.Cecilを使用した注入方法?
var worker = method.Body.GetILProcessor();
method.Body.Instructions.Clear();//Clear Old code
:
私のコードは次のようである
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);
}
しかし、それは動作しませんでした:
return getCpu();
だから私は書きます。
私はILと混同しています。誰かが私を助けることができますか?どうもありがとう。
どのように正確に機能しませんでしたか?それは何をするためのものか?変更されたアセンブリでpeverifyを実行しようとしましたか? – svick