Validation 如何对“进行反向工程”;“导入文件”;放弃的pascal应用程序的功能?

Validation 如何对“进行反向工程”;“导入文件”;放弃的pascal应用程序的功能?,validation,file-io,reverse-engineering,pascal,file-format,Validation,File Io,Reverse Engineering,Pascal,File Format,我问的第一个问题,我不知道该如何问清楚,或者是否会有我想听到的答案;) tl;dr:“我想在工作时将文件导入到我的应用程序中,但我不知道输入格式。我如何才能发现它?” 原谅任何悬而未决的措辞和/或修订 在我的工作中,我依赖于一个用Pascal编写的不受支持(和专有)的应用程序。我没有pascal的经验(还没有…),当然也没有源代码访问权限。这是一个优秀的(我认为是非常秘密的/NDA类型的交易)应用程序,允许我们在我的雇主的组织中处理库存和财务问题。它的功能相当全面,相当稳定和健壮,并且有点被更高

我问的第一个问题,我不知道该如何问清楚,或者是否会有我想听到的答案;)

tl;dr:“我想在工作时将文件导入到我的应用程序中,但我不知道输入格式。我如何才能发现它?”

原谅任何悬而未决的措辞和/或修订

在我的工作中,我依赖于一个用Pascal编写的不受支持(和专有)的应用程序。我没有pascal的经验(还没有…),当然也没有源代码访问权限。这是一个优秀的(我认为是非常秘密的/NDA类型的交易)应用程序,允许我们在我的雇主的组织中处理库存和财务问题。它的功能相当全面,相当稳定和健壮,并且有点被更高的权力强加给我们

它的一个优秀特性是能够将“时间表”加载到我们的公司系统中。这项功能可以为我们节省数百小时的数据输入时间。 但事实并非如此。 问题是,我们收到的日程表是用传统的人眼格式编写的。“新”系统无法解释它们

我们当前的信息(我必须阅读,然后手动重新输入数据库)是以一种富文本平面文件格式发送的,很容易用任何主流语言的字符串库进行解析

所以我想写一个转换器,将我们的数据转换成新软件可以解释的格式

通过将某些分类文件输入到系统中,我了解了它需要的文件类型:

  • 我“导入”一个零字节文件。什么也不发生(与打印没有数据的报告相同)

  • 我“导入”了一个XML文件,我想它可能看起来像系统所期望的。它通过异常对话框和堆栈跟踪进行响应。显然,字符串
    如果您有一个示例文件,您可以尝试使用hextump实用程序,看看是否有可以识别的东西。您拥有的任何其他信息(文件中应该包含的内容)都会对此有所帮助。甚至更好的是,如果您知道一个可以编辑文件的程序,您可以使用编辑器进行最小的更改,然后比较前后的文件

    二进制文件格式反向工程的低标准技巧

    …如果您没有任何现有文件,那么对二进制文件进行反向工程是您唯一的选择,这是不好的。反编译本地二进制文件是一门需要大量时间和技能的黑色艺术。阅读网上的各种反编译常见问题解答

    首先,也是最重要的一点,我会尝试联系该计划的作者。源代码是选项1、2、3,只有在真的、真的、真的没有希望获得源代码或获得正常支持的情况下,才使用其他选项