问题标签 [mono.cecil]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 使用 Mono.Cecil 创建带有内联参数的 IL 指令
我现在正在玩突变测试。我正在研究的其中一个突变涉及交换参数,例如,我可能需要交换参数,Ldarg.0
并Ldarg_S
使用指示索引的操作数。
其操作数类型是内联 arg,我相信在 Mono.Cecil 中需要我创建一个正确实例化ParameterDefinition
来存储 32 位 int 索引。有没有人对 Cecil 有足够的经验来为我指出正确的方向,即创建一个具有适当类型的Instruction
实例OpCode
的简单方法?Ldarg_S
Operand
c# - 如何使用 mono.cecil 添加没有默认构造函数的自定义属性
这个问题与这个有关,但不是重复的。Jb 在那里发布要添加自定义属性,以下代码段将起作用:
我想使用类似的东西,但要添加一个自定义属性,其构造函数在其(唯一)构造函数中采用两个字符串参数,并且我想为那些(显然)指定值。任何人都可以帮忙吗?
.net - Mono.cecil 中的 Instruction.Offset 代表什么?
我可以将其解释为源文件中的行号吗?
c# - 分析 .NET 4.5 版本的 System.Xml DLL 时抛出 Mono.Cecil 异常,为什么?
我正在使用 Mono.Cecil 0.9.5.3,在安装 VS2012 RC(导致 .NET 4.0 System.XML.DLL 被其 .NET 4.5 对应物替换)之后,我在一些迭代的代码中得到了 System.ArugmentException每个方法的自定义属性。原因似乎是在某些情况下,AsyncStateMachine
属性的 ctor 参数(应该是 Type)为空。
以下代码重现了它:
异常是从
我的问题是 - 这是 Mono.Cecil 还是 System.Xml.DLL 中的错误?规范是否允许“空”类型作为 ctor 参数出现?
wpf - 如何从 WPF 程序集中删除 baml?
使用合并的资源字典会降低应用程序的性能。在我的程序集中,我经常需要使用合并的资源字典。我想将资源合并到一个字典中,并删除原始的baml。我不能将 Build Action 设置为 None(而不是 Page),因为在这种情况下我失去了一些功能(例如,resharper 没有语法突出显示)。我怎样才能做到这一点?
c# - 使用 Mono Cecil 添加 try-catch
我正在使用 Mono Cecil 在另一种方法中注入代码。我想在我的代码周围添加一个 Try-Catch 块。
所以我写了一个带有try catch块的HelloWorld.exe并反编译了它。
Try-Catch 的 Reflector 中看起来像这样:
我怎样才能通过mono cecil注入这样的try catch?
.net - 使用 Mono.Cecil 确定类型是否实现接口
我浏览了 Wiki 上的文档,但似乎有点薄。如何确定一个类型是否使用 Cecil 实现了给定的接口?对于我的特定实现,重要的是我实际上并未将类型加载到 AppDomain 中。
这是我到目前为止的代码:
.net - 哪些类型/命名空间不应该重命名?
我是 Cecil 的新手,我创建了一个简单的测试。它将所有命名空间/类型重命名为随机字符串。
启动可执行文件后运行,但形式为空(它是 winforms)。
我以为 CLR 不关心名字?我不应该重命名什么?还是我做错了什么?
c# - 如何从字节数组(在内存中)运行方法?
我有一个动态方法,我有来自真实方法的 byte[](使用 Cecil)。现在如何将这个字节数组分配给动态方法并执行它?我确信这不仅仅是一种方式,必须有一种方式来调用字节数组。
c# - 如何制作使用来自同一程序集的静态变量的动态方法?
我创建了一个动态方法,但是当我尝试访问外部资源时,它给了我一个异常
TargetInvocationException:调用的目标已引发异常。
基本上我想写一个字节数组的方法,然后将它作为动态方法加载。我知道一个简单的字节数组不足以重建元数据链接,但是如何制作一个使用来自同一程序集的变量的动态方法?
我试图转换该代码:
这给了我IL:
这是字节:
我是这样测试的:
TL;DR 我想修复代表动态方法 IL 的字节数组的引用。怎么做?另外,我不想使用 ILGenerator(),我想要一个字节数组。