7

我知道将 dll 反转为 c++ 代码是不可能的,所以我想从中收集尽可能多的细节。这不是我的dll,所以我当然没有源代码。我应该使用哪个程序?

4

3 回答 3

16

好吧,如果你熟练的话,你可以反汇编 DLL 并理解它的所有功能。这需要大量时间,但如果您这样做,您可以手动将其反转回源。

否则,您可以先使用 Dependency Walker 之类的工具来获取它所依赖的 DLL 和函数,以及它导出的函数。从那里你可以找到你感兴趣的函数,并使用像 IDA 这样的反汇编程序来查看它们的作用。

于 2013-03-01T01:36:17.377 回答
2

您可以使用dumpbin工具查看导出的函数列表。如果导出 C++ 函数,您可能能够通过名称 mangling 推断参数。

您可以从 DLL 中提取所有资源,只需将其作为文件“打开”即可在 Visual Studio 中查看资源。如果 DLL 是基于 COM 的 DLL,则类型库作为资源嵌入其中的可能性很小。如果你有类型库,你可以#import它来重建公共接口的头文件。

这几乎是最好的。

于 2013-03-01T01:40:25.770 回答
1

您需要一个 PE 文件查看器。这将告诉您从 DLL 导出的内容,您可以在 .text 部分中获取数据以查看机器代码。

于 2013-03-01T01:35:28.810 回答