Windowsで別のユーザーのAppDataフォルダを知る方法とか

ちょっと仕事?で必要になったのだけど、わからなかったのでゆるぼしてみたら、プロフェッショナル(笑)な @tyappi さんと @aetos382 さん、 @YuneKichi さんが答えてくれました。 てか、寝ている間に答えてくれていたと思ったらその間でいろんな議論が交わされていたようで…とても参考になったのでまとめてみました。
Windows appdata
2
ぽぴ王子(秘) @PrincePOPI_
ゆるぼ C:\Users\ユーザー名\AppData みたいなフォルダで、自分以外のユーザーのフォルダを知りたいときの方法というかコード(C#で) ユーザー名はわかっているものとして。
ぽぴ王子(秘) @PrincePOPI_
やっぱレジストリを読むしかないだろうか
🦅あえとす⛩️ @aetos382
@PrincePOPI パスワードも分かっていれば何とかなりそうだけれど。 [TWNv950]
ちゃっぴ @tyappi
@PrincePOPI そうですね。情報自体は対象の user の registry に書かれているので、先にその user の hive を load してからということになりますね。
ぽぴ王子(秘) @PrincePOPI_
@tyappi ありがとうございます。その方向で行こうと思います~
🦅あえとす⛩️ @aetos382
@tyappi HKCRが開けたとして、どこにパスが書いてあるんかね? [TWNv950]
ぽぴ王子(秘) @PrincePOPI_
@aetos382 むむむ、パスワードはわからないのですよねー。あんまり行儀はよくないですが、別のユーザーのプロファイルを(勝手に)書き換えるプログラムという話だったので。
ちゃっぴ @tyappi
@PrincePOPI 他人の profile を load するには特権が必要だったはず。 Win32 API の名前なんだっけかな?ちと覚えていないです。
🦅あえとす⛩️ @aetos382
@tyappi そのまんま LoadProfile …はTokenが必要だから、結局パスワードが要るんよ。レジストリを暴くなら、ユーザー名から SID を得て HKEY_USERS の下を探ればいい。どのみち管理者権限がないとできないね。 [TWNv950]
🦅あえとす⛩️ @aetos382
. @tyappi @princepopi さあなんかタイムリーな話題になってまいりました QT @melponn: ユーザ名のフォルダとかって変更できたっけ・・・
🦅あえとす⛩️ @aetos382
@tyappi User Hive のファイル実体は %USERPROFILE% 下にあって、そのパスがそもそもわかんないんだから、どうしようもないんじゃねーの? [TWNv950]
ちゃっぴ @tyappi
@aetos382 そだよね。LoadProfile だった記憶があって msdn LoadProfile で検索したらすぐに出てこなかったので違うかな? と思ってしまった。
🦅あえとす⛩️ @aetos382
Profile Function はどれもユーザーの特定に Token を使うから http://bit.ly/aNKbBP パスワードがわかんないと無理だね、一般的には。 [TWNv950]
ちゃっぴ @tyappi
@aetos382 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion の下のどっかに key があったはず。
🦅あえとす⛩️ @aetos382
Registry Function にも他のユーザーの HKCR を開くようなものは見当たらないし http://bit.ly/bwjuX0 [TWNv950]
ちゃっぴ @tyappi
@aetos382 みつけた。ここ。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
🦅あえとす⛩️ @aetos382
@tyappi ふむ、ProfileImagePath とはどうにも解せぬ名前だが、どうやらあっているようだね http://bit.ly/bAMhpI [TWNv950]
ちゃっぴ @tyappi
@aetos382 以前ここらへんいろいろいじくった経験あるので間違いない。
🦅あえとす⛩️ @aetos382
@tyappi こわくていじれないよこんなとこ [TWNv950]
ちゃっぴ @tyappi
@aetos382 regedit.exe だと ACL で許可されていれば hive を load できるのでなんか API あるはず。Command だと reg.exe load でいける。
🦅あえとす⛩️ @aetos382
@tyappi Hive を Load するなら RegLoadKey だろうけど。 [TWNv950]
🦅あえとす⛩️ @aetos382
暇つぶしにちょっとやってみるか。 [TWNv950]
🦅あえとす⛩️ @aetos382
@PrincePOPI あ、欲しいのは AppData のパス? [TWNv950]
残りを読む(55)

コメント

ぽぴ王子(秘) @PrincePOPI_ 2010年8月26日
ちゃっぴさんがいろいろ調べてくださったので追加
ログインして広告を非表示にする
ログインして広告を非表示にする