-
-
[求助]请问怎么用Mono.Cecil向目录程序集插入大量代码
-
发表于:
2010-5-25 11:23
5090
-
[求助]请问怎么用Mono.Cecil向目录程序集插入大量代码
如果是少量代码,直接构造Instruction就行了,代码多了,就不太好办了
所以我想这样做:
在自己的程序中写一个函数:
void Inject()
{
int a=2;...
for(...)..
GetValue()....
}
然后把这个函数的Instructions集合插入到目标,或者把这个函数整个插进去,然后在目标位置调用这个函数。但是我这里总是报错
//获得当前程序的AssemblyDefinition还有更简单的方法吗?
AssemblyDefinition ad = AssemblyFactory.GetAssembly(System.Reflection.Assembly.GetExecutingAssembly().Location);
foreach (TypeDefinition td in ad.MainModule.Types)
{
foreach (MethodDefinition md in td.Methods)
{
if (md.Name == "Inject")
{
//把md整个导入,或者导入所有的md.Body.Instructions
foreach (Instruction ins in md.Body.Instructions)
{
}
}
}
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!