微软是如何造假的'垫片实际上是内部工作的

本文关键字:实际上 内部 工作 何造假 微软 | 更新日期: 2023-09-27 18:17:58

所以我对它的实现方式很感兴趣。基本上:我自己如何重新实现同样的事情?…我不打算这么做只是理解。

根本问题是:如何可能(?)拦截类实例化?它如何在一种情况下被一种实现所取代而在另一种情况下又被原始的或不同的实现所取代?

怎么可能拦截静态方法或密封类呢?

这都是关于垫片/摩尔而不是存根。

微软是如何造假的'垫片实际上是内部工作的

这是通过更改编译器发出的公共中间语言(IL)代码来完成的。您可以使用Fody库进行预打包的IL修改。Fody内部使用单声道。用于低级IL操作的cecil库。编译器生成的IL被修改并作为程序集保存到磁盘上。

我在mole上找到了这个参考出版物[pdf文件]。第4节解释代码插装的机制。