我有一个用C#写的动态链接库,我没有源码。我尝试过不同的C#反编译器来修改动态链接库,但是它们都给了我错误的尝试,我想是由于IL反编译的限制。是否可以按顺序将.cs文件添加到DLL的根目录,或者注入一个方法来添加功能?PS:这并不是为了破解一个软件,而是为了创建一个需要修改DLL的游戏的模型。
发布于 2016-07-23 06:05:31
.NET Reflector Reflexil plugin可以注入DLL中的方法或类,如其创建者在video中所示。它可以防止反编译错误,因为它只是将IL代码注入到程序集中。
要安装此插件,请遵循these steps。
发布于 2016-07-23 01:57:17
最好的方法可能是只围绕dll创建一个包装项目,以添加所需的功能。您的代码可以引用项目而不是dll。只要类没有被密封,你就应该能够继承它们。
一开始,修改你无权访问的代码可能不是一个好主意。特别是如果将来可以更新dll的话。
发布于 2016-07-23 04:23:16
还可以使用相同的命名空间创建新的DLL。这可能会使它们看起来好像在同一位置,但这不是最佳实践,而且可能会造成混淆,因为命名空间应该与项目/dll名称相匹配。
本杰明对包装器的解决方案似乎是合理的。
https://stackoverflow.com/questions/38531507
复制相似问题