# OF.ILModifier **Repository Path**: fastdev/OF.ILModifier ## Basic Information - **Project Name**: OF.ILModifier - **Description**: OF.ILModifier 这个类库主要目的是用来修改和替换 .Net 程序集中的方法,可以直接对程序集(dll或者exe)文件进行修改,无需获取程序集的源代码重新编译。 - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2017-03-14 - **Last Updated**: 2023-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #OF.ILModifier 一、基本描述 OF.ILModifier 这个类库主要目的是用来修改和替换 .Net 程序集中的方法,可以直接对程序集(dll或者exe)文件进行修改,无需获取程序集的源代码重新编译。 此类库用到了 Mono.Cecil 来实现方法和类型的创建,做了一些封装方便使用。 二、示例说明 1、项目构成: 本项目分为 4部分,其中 1)、OF.ILModifier 是主要的功能类库,通过它里面提供的方法可以修改指定程序集中特定方法。 2)、TestConsole 是用来模拟一个应用的(测试的代码会把这个类库中的方法进行替换) 3)、InjectedLibs 中包含了对应 TestConsole 中需要被替换的方法代码。 4)、RunIL 中调用 OF.ILModifier 中的方法,将 InjectedLibs 中的方法替换到 TestConsole 中的方法上去,然后重新生成新的程序集。 2、测试项目运行步骤: 1)、编译 RunIL 项目,会生成 RunIL.exe,并且相同文件夹中可以看到 TestConsole.exe。 2)、运行 RunIL.exe,这时会用 InjectedLibs 中定义的方法替换 TestConsole.exe 中的指定方法,生成新的 TestConsole2.exe。 3)、运行 TestConsole2.exe,从输出的结果中可以看到相应的方法都被替换过了。