c++ - 使用 dumpbin 查看 .dll 或 .lib 文件的源代码

标签 c++ visual-studio dll dumpbin

我以前没有使用 .dll 或 .lib 文件的经验,我需要查看这些文件中的函数代码。我不知道该看哪一个,在 stackoverflow 中四处搜索让我找到了 dumpbin,我可以使用 dumpbin/EXPORTS 查看 header 和函数。但是我怎样才能看到实际的代码呢?我可以只通过控制台执行此操作还是必须下载单独的程序?

P.S:我使用 Visual Studio,这些是 C++ 函数。

如有任何帮助,我们将不胜感激。

最佳答案

从编译文件(如 .lib 或 .dll)中查看源代码几乎是不可能的,因为它基本上是一个编译文件。

通过编译源代码,您将丢失一些信息,如注释和大部分代码结构。所以你的库文件不再有这些信息。然而,一些选项仍然是可能的。

首先很明显,如果您的库来自开源项目,您可以通过询问 our dearest friend 找到源代码。 .

根据您真正想用这个库做什么,dumpbin、objdump 等工具可以通过读取和解码文件的某些部分(标题、表名)为您提供有关现有文件的更多信息。

最终,您可以尝试使用反汇编器或反编译器之类的工具将您的二进制文件转换为更易读的代码,例如汇编或伪源代码,尽管其结果不会是原始代码源。

关于c++ - 使用 dumpbin 查看 .dll 或 .lib 文件的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34610739/

相关文章:

c++ - 在 C++ 中实现 AES-128 混合列函数

c++ - 如何在 C++ 中为 Backus Naur Form 创建规则?-

visual-studio - 如何请求对 TFS 中的单个文件进行代码审查?

mysql - AutoHotKey 无法从目录加载 libmySQL.dll

c++ - 如何找出在 DLL 中调用了哪些函数?

c++ - 输入数据成员未按要求工作

c++ - 计算二进制模式的子集

.net - 调试器没有进入不同的项目

.net - 在 Windows 7 或 Vista 上安装 Visual Studio 2002

c - LoadRunner:如何创建 DLL 以使用 "web_reg_save_param"函数