如何创建将 1 个 dll 文件转换为另一个 dll 文件的程序?
How to create a program that converts 1 dll file into another dll file?
所以我想制作一个 mod 安装程序,它不包含任何游戏代码,但仍会安装完整的 modded dll。每个玩正式游戏的人总是从相同的dll开始(用C#和unity编写)。
我最初的想法是使用 ILspy 反编译(因为我们只能访问 .dll)并重新编译,但这不起作用(构建错误)。我考虑过使用 winMerge 之类的东西来保存 .dll 之间的更改,但不是 100% 确定如何使用它,我的最终想法是将整个二进制文件从存储文件转换为正常数字,并找出这两个文件之间的差异。
有人知道最好的方法是什么吗?
我的好运来自 ildasm
/ patch
/ ilasm
。您可以使用 Mono.Cecil
做基本相同的事情。如果原始 dll 没有本机代码,即使面对混淆的 dll,它也非常自动化。
已经有一段时间了,但我想回到我是如何解决这个问题的。我最终制作了一个安装程序,用于比较 2 个二进制文件之间的哈希(二进制)差异并创建补丁。现在可以在安装程序本身中应用此补丁来制作输出 dll!如果有人感兴趣,这里是 github - https://github.com/dan771/Snowtopia-Mod-Installer
所以我想制作一个 mod 安装程序,它不包含任何游戏代码,但仍会安装完整的 modded dll。每个玩正式游戏的人总是从相同的dll开始(用C#和unity编写)。
我最初的想法是使用 ILspy 反编译(因为我们只能访问 .dll)并重新编译,但这不起作用(构建错误)。我考虑过使用 winMerge 之类的东西来保存 .dll 之间的更改,但不是 100% 确定如何使用它,我的最终想法是将整个二进制文件从存储文件转换为正常数字,并找出这两个文件之间的差异。
有人知道最好的方法是什么吗?
我的好运来自 ildasm
/ patch
/ ilasm
。您可以使用 Mono.Cecil
做基本相同的事情。如果原始 dll 没有本机代码,即使面对混淆的 dll,它也非常自动化。
已经有一段时间了,但我想回到我是如何解决这个问题的。我最终制作了一个安装程序,用于比较 2 个二进制文件之间的哈希(二进制)差异并创建补丁。现在可以在安装程序本身中应用此补丁来制作输出 dll!如果有人感兴趣,这里是 github - https://github.com/dan771/Snowtopia-Mod-Installer