【发布时间】:2012-04-27 16:09:40
【问题描述】:
有人知道可以挂钩 Dotnet 方法的挂钩/弯路库吗? 我知道鼹鼠可以在运行单元测试的情况下做到这一点。但是它使用分析器,实际上不适合或设计用于您自己的库中,而且您不能将内部方法或静态方法与它挂钩。
【问题讨论】:
有人知道可以挂钩 Dotnet 方法的挂钩/弯路库吗? 我知道鼹鼠可以在运行单元测试的情况下做到这一点。但是它使用分析器,实际上不适合或设计用于您自己的库中,而且您不能将内部方法或静态方法与它挂钩。
【问题讨论】:
我不知道。在我的公司,我自己创建了一个。你必须使用探查器来做到这一点。另外,请注意,如果存在本机 dll,您将无法检测该功能,您必须以其他方式删除它或执行其他操作,例如使用 loadlibrary 钩子绕道而行。
最后,目前的处理方法是自己编辑函数或完全替换它。出于稳定性原因,这是一件非常危险的事情。有更复杂的方法,但首先你必须从基础开始。 IIRC 我开始使用这个来了解分析: http://msdn.microsoft.com/en-us/magazine/cc188743.aspx
当我了解到这一点时,我错过了关于本机 vs 字节码的一点,因此您可以避免这种特别的头痛。
【讨论】:
今天至少存在这两个不使用分析 api 的框架(当然,它们使用可能非常脆弱的 .NET 内部进行模拟)
【讨论】: