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 : 初版