如何确定 Delphi DCU 文件中定义了哪些类型?

6

我有一组已编译的Delphi dcu文件,没有源代码。 有没有办法确定dcu文件中定义了哪些类型?

3个回答

9
要查找名为FooUnit的单元中包含了哪些内容,请在您的编辑器中键入以下内容:
unit Test;

interface

uses FooUnit;

var
  x: FooUnit.

在结尾处按下Ctrl+Space,IDE将呈现可能的完成值列表,其中应该主要(如果不是全部)是类型名称。


1
最简单的解决方案,而且效果很好。我接受了schnaader的建议,因为它直接拆分DCU,而不是依赖于IDE。 - JosephStyons

7
你可以查看Delphi DCU反编译器DCU32INT。它生成的.int文件有一定可读性但无法编译,如果你只需要确定定义的类型,那么这已经足够了。

2
DCU格式是未经记录的,据我所知。但是我发现了一个可以为您提供一些基本信息的工具DCUtoPAS。它在该网站上的评价并不是很好,但至少可以为您提取类型。还有一个叫做DCU32INT的工具,也可能有所帮助。
否则,您可能只能使用十六进制编辑器打开文件并搜索字符串。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接