Opera の訪問済みリンクの管理ファイル vlink4.dat についての解析.

注意

この文書は,WindowsXPにWindows版の Opera9を インストールしたときの情報に基づいて作成してます.別のOS,別のバージョンの解析状況は追々.

この文書を基にして,Operaにカスタマイズその他の変更を加えて,不具合が発生しても責任は取れません.

突っ込み,感想,その他は,office@ashula.infoまで

説明

このページでは,Operaの訪問済みリンクのファイル( vlink4.dat )について解説しています.

「ユーザごとの設定を使う」でインストールすると,通常,%APPDATA%\Opera\%OperaVersion%\profile以下に作られます. (%APPDATA%は,通常Documents and Settings\user_name\Application Data.エクスプローラの「ツール→フォルダオプション→表示→全てのファイルとフォルダを表示する」が設定されていないと見ることは出来ないです).正確な場所は opera:config#UserPrefs|OperaDirectoryの値を参照のこと.

ここにまとめた情報は主に,Opera File Formatsの公式の解説を基に作られています.ほかの資料は参考文献を参照してください.

構造

データ構造(レコード)についての概要は,binary filesを参照のこと.

vlink4.dat ファイルはヘッダと訪問済みリンク情報のデータレコードからなる.

ヘッダ

ヘッダは,4つの値からなり, vlink4.dat の ヘッダの4つの値はそれぞれ次のようになっている.

file version number
0x0000 1000
app. version number
0x0002 0000
idtag_length
0x0001
length_length
0x0002

なので,まとめるとファイルの先頭は以下のようになる.


     0        8        16       24
    +--------+--------+--------+--------+
    |  0x00  |  0x00  |  0x10  |  0x00  |
    +--------+--------+--------+--------+
    |  0x00  |  0x02  |  0x00  |  0x00  |
    +--------+--------+--------+--------+
    |  0x00  |  0x01  |  0x00  |  0x02  |
    +--------+--------+--------+--------+

本体

vlink4.dat ファイルの本体は 一つ一つの訪問済みURLに関する情報のレコードの集合からなる.

vlink4.dat ファイルで使われる レコードのタグIDとペイロードは以下のとおり

vlink4.dat の トップレベルのレコードの構成
タグID ペイロードの型説明
0x02 レコード個々の訪問済みURLに関するレコード.
個々の訪問済みURLに関するレコードの構成
タグID ペイロードの型説明
0x03string完全なURLの名前(The name of the URL, fully qualified)
0x04time_t最終訪問日時
0x8bflagそのURLがフォームの問い合わせ結果であるときにのみ存在
0x22recordその文書に存在する 相対リンクの URL と 最終訪問日時のレコード
相対リンクのレコードの 構成
タグID ペイロードの型説明
0x23string相対リンクのURL
0x24time_t最終訪問日時

構成

YAML(google://YAML)っぽい書式を使ってまとめるとファイルの構成は次のようになる.()

      header :
        file version number : 0x0000 1000 
        app version number  : 0x0002 0000 
        tag_id length       : 0x0001      
        length length       : 0x0002      
      body :
        - visited url record :
            tag     : 0x02
            length  : 0xLLLL
            payload :
              url_name record :
                tag     : 0x03
                length  : 0xLLLL
                payload : url # 文字列(長さ url_name record length)
              last_visit record : 
                tag     : 0x04
                length  : 0x0004
                payload : 0xTTTT TTTT # time_t 型
              rel_url_info record :
                tag     : 0x22
                length  : 0xLLLL
                payload : 
                  rel_url_name record :
                    tag : 0x23
                    length : 0xLLLL
                    payload : url # 文字列(長さ rel_url_name record length)
                  rel_url_last record :
                    tag : 0x24
                    length : 0x0004
                    payload : 0xTTTT TTTT # time_t 型 
        - visited url record :
            tag     : 0x02
            length  : 0xLLLL
            payload :
              url_name record :
                tag     : 0x03
                length  : 0xLLLL
                payload : url # 文字列(長さ url_name record length)
              last_visit record : 
                tag     : 0x04
                length  : 0x0004
                payload : 0xTTTT TTTT # time_t 型
              rel_url_info record :
                tag     : 0x22
                length  : 0xLLLL
                payload : 
                  rel_url_name record :
                    tag : 0x23
                    length : 0xLLLL
                    payload : url # 文字列(長さ rel_url_name record length)
                  rel_url_last record :
                    tag : 0x24
                    length : 0x0004
                    payload : 0xTTTT TTTT # time_t 型
     

Tools

参考文献

Off

Opera File Formats, http://www.opera.com/docs/fileformats/ , opera.com

Off_jp

Opera のファイル形式, http://jp.opera.com/docs/fileformats/ , jp.opera.com

unofficial

Opera File Formats(私家訳), http://ashula.info/neta/opera/inis/OperaFileFormats-jp.html , t.ashula

O4FE

Opera4 File Explorer, http://users.westelcom.com/jsegur/O4FE.HTM , Josef W. Segur

更新履歴

  1. 2007/07/21 : ツールを追加
  2. 2006/10/12 : 初版