我知道这是不可能扭转一个dll成C ++代码,所以我想收集尽可能多的从可能的细节。 这不是我的dll,所以我没有当然的源代码。 我应该使用哪种方案?
Answer 1:
好吧,如果你是熟练的,你可以拆卸的DLL和了解它的全部功能。 这需要相当长的时间量,但如果你做,你可以用手扭转回源。
否则,您可以通过使用类似的Dependency Walker工具来获取DLL和功能,这取决于和它导出的功能开始。 从那里,你可以找到的功能,你的兴趣,并使用像IDA反汇编,看看他们做什么。
Answer 2:
您可以通过查看导出的函数列表DUMPBIN工具。 如果C ++函数导出,你也许可以通过名称重整来推断参数。
您可以从DLL的只是“开放”成为资源查看在Visual Studio中的文件中提取的所有资源。 如果DLL是基于COM DLL,有一个很小的机会类型库作为嵌入在它内部的资源。 如果你有类型库,你可以#IMPORT它重建的头文件的公共接口。
这是因为它得到一样好。
Answer 3:
你需要一个PE文件查看器。 这会告诉你从DLL出口,你可以得到在.text段的数据看机器代码。
文章来源: How to reverse a DLL into C++ code?