我应该如何开始尝试对该文件格式进行反向工程?我唯一想到的就是保存一个简单的文件,然后使用十六进制编辑器进行挖掘。但是由于文件格式可能是某种存档,因此这似乎是错误的方法。我一直对逆向工程文件格式的想法有点兴趣,但是我从未真正尝试过。我应该如何开始?

我特别对Smart Notebook感兴趣,该智能笔记本将数据加载并保存到.notebook文件中。这是未记录的专有文件格式。 SMART是白板的领先制造商,因此其笔记本软件是教育(演示)内容中最受欢迎的格式之一。白板文件有一个开放标准,Open Sankore是一个可以打开并保存它们的开源程序。但是,智能笔记本与开放式白板格式并不完全兼容,因此我真的很想了解.notebook文件格式,以便我编写使用该格式的软件。打开的立场(.iwb文件)是包含图像和SVG数据的zip存档。在我看来,.notebook文件也可能被压缩或至少包含许多子文件(如图像和SWF文件)。

评论

相信目录结构可以嵌入.notebook文件中是否合理?

这是一个带有smartboad文件的站点,以供参考。 jmeacham.com/smart.board.htm

我看不到任何对.notebook文件的内置支持。只是pdf,iwb,图片和ubz,我认为是。如果您知道某个插件,那么也许应该列出它,否则它看起来像sankore根本不支持.notebooka。

@ cb88 Sankore不支持.notebook文件;据我所知,除了Smart Notebook,没有其他软件可以读取.notebook。我觉得.notebook文件是交互式白板的MS Word .doc文件,因为Smart是该领域的领先软件供应商。这就是为什么我要对格式进行反向工程。

@zv_我认为期望某些目录结构或至少一种笔记本文件包含其他文件的方式是合理的。将内容插入笔记本文件(图片,音频,Adobe .swf)后,这些内容将嵌入到页面和文件的一部分中。

#1 楼

好吧,显然,细节将在很大程度上取决于文件格式的细节以及您通常希望实现的目标。但是,某些步骤大致相同。您可以做的一件事是:


尽力找到有关格式的各种线索。这可以是某些公告板上的小纸条,也可以是此后消失的已有多年历史的网站的缓存副本。当您寻找足够特定的事物时,这些宝石通常不会弹出作为顶部搜索结果。遍历搜索结果页面可能很有意义。 Als必须确保使用诸如file之类的工具来寻找魔术字节,并且能够肉眼识别不明显的事物。

使用试验和错误技术,例如对文档进行明显的更改,保存它们并观察并记下差异,AFAIK这就是最初对MS Office文件格式进行解码的方式适用于StarSuite(现为OOo和LibreOffice)
对程序本身进行逆向工程,以找到读写数据格式的核心例程。 >阅读其源代码

如果您了解选项3中的程序编写的语言,则完全没有问题。如果您没有,或者面临其他挑战,那么您就必须求助于第2点中概述的良好的旧技术,用方法1收集的片段来弥补空白。

要点2.1应该很明显:您想了解递归文本是如何编码的?输入一些文本,设置其格式,保存,观察更改。冲洗,起泡沫,重复。

Point 2.2会花费更多的精力,应该稀疏使用以确保您正确地掌握了2.1的细节。

#2 楼

我从cb88网站下载了abc chant.notebook,它链接到:

$ file "abc chant.notebook"
abc chant.notebook: Zip archive data, at least v2.0 to extract
$ unzip -t "abc chant.notebook" 
Archive:  abc chant.notebook
    testing: images/temp(1).png       OK
    ... about 200 similar lines ...
    testing: attachments/Zachary.JPG   OK
No errors detected in compressed data of abc chant.notebook.
$


这是一个有效的zip文件,主要包含XML和图像文件。您所指的.notebook文件与此文件不同吗?如果是这样,您可以上传示例吗?

我知道这真的没有涉及反转专有文件格式的过程,对此我深表歉意。希望其他人可以在这方面提供更有趣的答案。

评论


哇-这比我想象的要容易得多!我必须检查了笔记本文件的早期版本:xbk。它们不是zip文件,但.notebook是!不知何故,我以为我已经检查过了,没有回来。

–刺
13年3月25日在23:10