在DLL

时间:2016-07-22 16:39:19

标签: c# dll

我有一个用C#编写的DLL,我没有源代码。我已经尝试了不同的C#反编译器来修改DLL,但是我试图通过修改重新编译它们都给我错误,我想由于IL反编译限制。可以按顺序将.cs文件添加到DLL的根目录中,还是注入添加功能的方法? PS:这不是为了破解软件而是为了创建需要修改DLL的游戏模型。

3 个答案:

答案 0 :(得分:2)

您最好的方法可能是在dll周围创建一个包装器项目,以添加您想要的功能。您的代码可以引用项目而不是dll。只要这些类没有被密封,你就应该能够继承它们。

修改您无权访问的代码可能不是一个好主意。特别是如果dll可以在将来更新。

答案 1 :(得分:1)

您还可以使用相同的命名空间创建新的DLL。这可能会使事情看起来好像在同一个位置,但这不是最佳实践,并且可能会让人感到困惑,因为命名空间应该与项目/ dll名称匹配。

本杰明与包装器的解决方案似乎是合理的。

答案 2 :(得分:0)

.NET Reflector的Reflexil插件可以在DLL中注入方法或类,如其创建者在video中所示。 它可以防止反编译编译错误,因为它只是在程序集中注入IL代码。

要安装此插件,请按照these steps