2013-04-12 20 views
0

好吧,我已經開始玩Zork,這是一款舊的視頻遊戲,我發現它以Quetzal文件格式保存遊戲。我已經看過od的輸出,但似乎沒有任何意義。當我谷歌「綠咬鵑保存文件」,我碰到過維基百科,這給了我這樣的:在C++中打開/解碼Zork保存文件(Quetzal格式)

文件的魔術數字閱讀往往表現爲:

「IFF數據,Z-機或Glulx保存的遊戲文件(查爾)」

我確信它是在格查爾格式,因爲file收益:(?coincedence)IFF data, Z-machine or Glulx saved game file (Quetzal),這是一樣的魔法數字。

那麼,magic-number是什麼意思呢,我該如何編寫一個C程序來解碼它,推測可能是IFZF格式?

+0

'魔法讀數......'是這裏的線索。所有這一切意味着當'od'查看文件時,它會查看文件中的某些知名位置,並在那裏找到數據,將文件標識爲Quetzal文件。 –

+2

您需要閱讀Quetzal文件格式的[文檔](http://ifarchive.giga.or.at/if-archive/infocom/interpreters/specification/savefile_14.txt)。它可能有助於閱讀有關Z-Machine以及其[wiki](http://en.wikipedia.org/wiki/Z-machine)頁面上提及的幾篇文章。編寫一個C程序將Quetzal文件解碼爲XML,一旦理解了Z-Machine和Queztal文件,將會變得更加流暢。另一個信息源是[Jzip a Z-Machine emulator](http://jzip.sourceforge.net)。我相信它的來源包括讀寫Quetzal文件的代碼。 –

+0

@DaveNewman,我會看看它 – theunamedguy

回答

2

「幻數」是指文件格式的獨特特徵,允許像file這樣的命令識別它們。例如,Quetzal保存文件以標識它們的交換文件格式(IFF)文檔類型的四字節序列IFZS開頭。您可以使用文本編輯器或十六進制轉儲進行驗證。您可以在線找到Z-machine Common Save-File Format Standard。您可以在Interactive Fiction Archive for Z-machine games找到各種編譯器,工具和規範,它們可以幫助您獲得格式的源代碼。請特別注意口譯員,其中包括保存和恢復遊戲的設施。

+0

我認爲它就像加密密鑰... – theunamedguy