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とペイロードは以下のとおり
タグID | ペイロードの型 | 説明 |
---|---|---|
0x02 | レコード | 個々の訪問済みURLに関するレコード. |
タグID | ペイロードの型 | 説明 |
---|---|---|
0x03 | string | 完全なURLの名前(The name of the URL, fully qualified) |
0x04 | time_t | 最終訪問日時 |
0x8b | flag | そのURLがフォームの問い合わせ結果であるときにのみ存在 |
0x22 | record | その文書に存在する 相対リンクの URL と 最終訪問日時のレコード |
タグID | ペイロードの型 | 説明 |
---|---|---|
0x23 | string | 相対リンクのURL |
0x24 | time_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
Opera4 File Explorer, http://users.westelcom.com/jsegur/O4FE.HTM , Josef W. Segur
read opera history file and write into something, http://ashula.info/opera/tips/read_opera_history_file_and_write_into_something.html , t.ashula
参考文献
- 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
更新履歴
- 2007/07/21 : ツールを追加
- 2006/10/12 : 初版