Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LT資料_20190813.pdf

stqp
August 13, 2019

 LT資料_20190813.pdf

5分のLT発表で使ったスライドです。
MacOSXのBookmarkバイナリデータの構造について説明しました。

stqp

August 13, 2019
Tweet

More Decks by stqp

Other Decks in Technology

Transcript

  1. きっかけはMacMRU • MacのMRU収集ツール • https://github.com/mac4n6/macMRU-Parser • 開発者は Mac4n6。リリース記事が2016年に出ています。 • https://www.mac4n6.com/blog/2016/7/10/new-script-macmru-

    most-recently-used-plist-parser • Plist、ShareFileList を探して中⾝を解析するツールです。 • その際 Bookmark Data を解析してMRU情報を抽出しています。
  2. What is Bookmark Data? • Plist、ShareFileListファイルに含まれるバイナリデータ • ※当スライドではblobと呼ぶことにします • 例えば最近開いたファイルのパスなどが含まれています。

    • 公式の仕様は分かりません(少なくとも調べた感じだと..)。 • 誰かが頑張ってリバースエンジニアリングしてくれています。 • https://github.com/al45tair/mac_alias/blob/master/doc/bookm ark_fmt.rst
  3. What is TOC? • Table Of Content の略 • Bookmarkの実データを管理するためのテーブル

    • テーブルはエントリーへの参照を保持しています。 • そしてエントリーは実データへの参照を保持しています。
  4. So How to Parse Bookmark? Use this. ・オリジナル https://github.com/al45tair/mac_alias/blob/master/mac_alias /bookmark.py

    ・理解しやすく⾃分で書き直した版 https://github.com/stqp/mac-mru/blob/master/bookmark.py
  5. End