在網上搜了一遍只看到這個分析
sharedobject .sol檔案頭總是00 bf,接著4個位元組是大小(這個大小是之後所有塊的大小哦),然後也是固定的54 43 53 4f 00 04 00 00 00 00。
第17、18位元組是sharedobject變數名的長度,緊跟著就是sharedobject變數名。之後的4個位元組代表sol檔案版本,00 00 00 00是as2.0生成的,00 00 00 03是as3.0生成的。
緊跟著是sharedobject的data變數名長度,這裡演算法很奇怪,如果長度是x,這裡的值就是2x+1。之後是data變數名。再接著是data變數值的型別,這裡型別如下:
02 邏輯值false,後接00
03 邏輯值true,後接00
04 數字(緊接數字值,每乙個位元組取值在0~7f,大於7f進製為80 00;最後以00結尾)
06 字串(緊接長度,為字串長度的2x+1;長度之後是字串值,最後以00結尾)
09 陣列(緊接陣列的元素個數,取值還是2x+1 ,接下來的乙個位元組可能是陣列的維數;最後以00結尾)
作者基本把格式說清楚了,但還是有些要補充的
關於數字進製,我猜測大概是採用類似可變位元組編碼(variable-byte)的方式,第一位是延續位,1表示後面還有位元組,0表示結束
分析清楚了以後其實就能明白sol檔案採用的就是鍵值對(key-value pair)的方式來組織的,每個鍵值對都是以00結尾
QuickTime檔案格式解析
peter lee 2008 06 14 一 簡介 quicktime 是公司開發的一套完整的多 平台架構,可以用來進行多種 的建立,生產,和分發,並為這一過程提供端到端的支援 包括 的實時捕捉,以程式設計的方式合成 匯入和匯出現有的 還有編輯和製作,壓縮,分發,以及使用者回放等多個環節。quick...
FLV檔案格式解析
flv是流 封裝格式,我們可以將其資料看為二進位制位元組流。總體上看,flv包括檔案頭 file header 和檔案體 file body 兩部分,其中檔案體由一系列的tag及tag size對組成。因此乙個flv檔案看上去是下面的結構 其中,previous tag size 緊跟在每個 tag...
FLV檔案格式解析
原創出處 flv是流 封裝格式,我們可以將其資料看為二進位制位元組流。總體上看,flv包括檔案頭 file header 和檔案體 file body 兩部分,其中檔案體由一系列的tag及tag size對組成。因此乙個flv檔案看上去是下面的結構 一 file header結構 file head...