我正在.NET 中编写一个应用程序来编辑任何方法的指令。我想把 ldstr 放在 OpCode 中,把一个字符串放在 Operand 中。Mono.Cecil 允许我设置操作数,但问题是 OpCode 是 ReadOnly 属性。有什么方法可以编辑 OpCode 吗?为此,我使用以下代码:
Dim assembly1 As AssemblyDefinition
assembly1 = AssemblyDefinition.ReadAssembly(rute)
For Each modDef In assembly1.Modules
For Each typeDef In modDef.Types
For Each mDef In typeDef.Methods
For i = 0 To mDef.Body.Instructions.Count - 1
mDef.Body.Instructions(i).OpCode.Code = Mono.Cecil.Cil.Code.ldstr
mDef.Body.Instructions(i).Operand = "Text"
Next
Next
Next
Next
非常感谢!