アンタイ・フォレンジック妖怪の独り言

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

UserAssistにおけるCSIDL値の扱い

先日の FNG05 の終了後、Yosuke Hasegawa氏から Windows の UserAssist キーについて興味深いお話がありました。
UserAsssit キーの中に、%csidl2% のように変数として値がある場合に、RegDog などのツールがどのように扱っているか?ということだったんですが、RegDog の最新版のテストがあったのでその辺りの出力も確認してみました。
手元で試した雰囲気では、UserAssist Tool 2.4.3 や RegRipper, RegDog では、UserAssit キーの出力結果としては値をそのまま %csidl2% とかの表示形式で出力しているみたいですね。
RegDog で XP の NTUSER.DAT を解析すると結果はこんな↓感じ。

2009/11/04 11:05:12 +9:00
	UEME_RUNPIDL:%csidl2%\アクセサリ (56)
	UEME_RUNPIDL:%csidl2%\アクセサリ\ペイント.lnk (29)

CSIDL値が示しているポインタが何処になるかとかはこの辺りでみればいいんですかね。Google で“仮想フォルダ CSIDL”とかで検索すると色々と出てきますね。

CSIDL 値
http://yokohama.cool.ne.jp/chokuto/urawaza/prm/CSIDL.html
CSIDL
http://msdn.microsoft.com/en-us/library/bb762494(VS.85).aspx

で、問題というかは、この CSIDL 値が実際のところ何処のフォルダであったかを特定する方法をどうするか?というお話ですかね。*1

*1:過去の実行履歴においては、その時点で CSIDL値 が何処を示していたのかを知る術はないのかもしれませんが、VSSでその頃のファイルシステムにアクセスできると構造がわかったりするのかも?