我知道将 dll 反转为 c++ 代码是不可能的,所以我想从中收集尽可能多的细节。这不是我的dll,所以我当然没有源代码。我应该使用哪个程序?
问问题
40593 次
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 回答