如何编辑或查看 dll 文件的源代码

how to edit or see the source code for dll files

我有一个旧游戏(帝国时代)的 DLL 文件 我只想编辑该文件或查看源代码。 我尝试了反射器收费和其他一些,但没有任何结果

所以,1- 我如何编辑或查看该 DLL 文件?
2- 我能知道该文件是用什么语言编写的吗?

  1. 有点难。我的意思是您可以使用十六进制编辑器查看该文件,但它看起来不太好。但是,您可以使用 3rd 派对工具来获取尽可能多的关于 .dll:

    的信息
    • Dependency Walker - 对于获取 .dll 很有用,您的 .dll 依赖于 (以及它需要的功能),导出功能,...

    • PE Explorer - 一个很好的工具(我并不是说它是最好的),它列出了很多关于 dll 的信息(部分,资源,......)并且它还有一个反汇编程序(这个反向工程 .dll 并以汇编代码的形式显示它)。如果您了解汇编代码,则可以修改它(通过修改 .dll 中的相应字节),但这仅适用于专家。问题是它只处理32bit (x86) .dlls,最新版本是从 2009 年开始:(

  2. 很可能是用 C 编写的。我列出的工具可以告诉您更多信息。您还可以使用十六进制编辑器查看 .dll,其中可能有对源文件的引用

如果 .dll 具有 msvcr###(d).dll 形式的依赖项 (# 符号是一个数字的占位符)或者vcruntime###(d).dll,那么就是C,如果还有msvcp###(d).dll,然后是C++(用VStudio创建) .

添加到此:

对于 .net dll,出现了一个令人难以置信的程序,由 JetBrains 制作,名为 DotPeek,它大大简化了 .net dll 的反编译。