繁体   English   中英

二进制序列化文件-Delphi

[英]Binary Serialized File - Delphi

我正在尝试反序列化在Delphi中序列化的旧文件格式,它使用二进制序列化。 除了其中的一些非常高级的记录外,我对文件的结构一无所知。

您将采取什么步骤解决此问题? 有其他工具吗?

一个很好的六角编辑器,并使用灰质来识别结构。

如果您得到的提示是哪种文件,则可以搜索更专业的工具。

运行unix / Linux“文件”命令也可以很好(*)有关其工作原理,请参见下面的Barry评论。 通过使用其他扩展名,它可以快速检查隐藏的常见文件类型,例如DBF,ZIP等。

(*)有针对Windows的第三方构建,但它们可能会滞后于版本。 如果您可以在最近的* nix发行版上进行此操作,建议您这样做。

序列化过程仅循环所有已发布的属性,并将其值流式传输到文本文件。 如果您不知道流式传输到文件的确切类,则将很难反序列化文件。 (如果不是不可能的话)

首先是一个好的十六进制编辑器。 如果在没有缓冲的情况下读取文件(例如,直接从TFileStream读取),则在从SysInternals使用ProcMon时可以获得一些信息。 您可以确切地看到按什么块读取了哪些数据,从而更快地确定了已识别的结构之间的边界。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM