レジストリエディタの操作

レジストリを操作するには
レジストリエディタを使います
このエディタの出しかたは
スタートボタン > ファイル名を指定して実行 >
regedit
で開けます
レジストリを編集する時に失敗すると
再インストールすることになります
このため、レジストリを編集する前に正常な状態のバックアップをとっておきましょう
レジストリエディタではキー単位で
エクスポートできます
エクスポート形式はいくつかありますが
reg形式なら
後でファイルをダブルクリックするだけで元に戻せます
ただし、全体のレジストリのバックアップには向きません
これは
インポートする時に
アクセス権の影響で元に戻せないところがでてきて
エラーが多発
結果として正常に戻らないということがあるからです
このため、全体バックアップするには
windows 付属のバックアップツール

市販のツールでシステムごとリカバリしたほうが安全です
また、バックアップしていなくても
windows 7
windows 2008
の場合なら
10日に1回
レジストリバックアップされるので
そのときのファイルが
%SystemRoot%System32%config%RegBack
に保存されます
10日に1回なので、最長でも10日までになります
最後の可能性の1つとして覚えておくといいかもしれません

Windows レジストリ

レジストリは windows OS のコアとなる設定です
認証情報、
ユーザ履歴
カスタマイズ設定など
いろいろな情報が格納されています
レジストリは
キーと値で構成され
キーはフォルダ
値はファイルのようなかんじです
windows には5つの定義済みキーがあり
これはルートキーといいます
HKEY_CURRENT_CONFIG (HACC)
ハードウェア関連情報
HKEY_CLASSES_ROOT (HKCR)
拡張子とプログラムの関連づけ情報
HKEY_LOCAL_MACHINE (HKLM)
PC全般の構成情報
HKEY_USERS (HKU)
全ユーザーの関連情報
HKEY_CURRENT_USER (HKCU)
ログイン中のユーザ関連情報
構造上は
HKLM と HKU が上位
HKCR、HKCU、HKCC はこの下になります

NTLM認証

NTLM認証の種類として
NTMLv1認証
NTMLv2セッションセキュリティ
NTMLv2認証
があります
NTMLv1認証には
LMハッシュ、LM認証の7文字後と暗号化の問題がないので
LM認証に比べれば強度はあがります
ツールによる
LM認証、NTLM認証のクラックの場合
脆弱なLM認証レスポンスがクラックされ
クラックされたパスワードの英大文字小文字の組み合わせ
をかえてNTML認証レスポンスがクラックされます
このためLM認証とNTLM認証を同時に使ってしまうと
LM認証なみの強度へと弱体化するので注意
NTLMv2認証
NTMLv2セッションセキュリティ
の場合
クライアントチャレンジが導入されている
これは
クライアント側で毎回生成されるので外部から強制的に固定にできない
また、ネットワークにも流れないので
値をしることができないようになっている
このため、オフライン攻撃には強くなっている
パスワードをクラックされたくないなら対策として
LMハッシュを保存しない
(Vista 以降はLMハッシュを保存しないようになった)
LM認証は使わない
(Windows 2003 server からは
 NTLMレスポンスだけ送信する)
NTMLv2認証を使う
(Vista 以降は自動的にこちらを使う
ただし、古いNASだと対応していなくてつながらないということもあり)
ということが重要

windowsのネットワーク認証

Windows がネットワーク認証に使うおもな認証方法は
LM認証
NTLM認証
kerberos認証
windows のクライアントから共有サーバーへ接続するときに
ネットワーク認証が行われます
ネットワーク認証はサーバーへの認証要求から
始まって
サーバーがチャレンジを作成して
クライアントに送信します
クライアント側では
受信したチャレンジとアカウントのパスワードハッシュから
レスポンスを計算し、発信します
つぎにサーバー側で
送られてきたレスポンスと
サーバーが管理しているパスワードハッシュから計算したレスポンスが
一致するか調べて
一致したら認証成功
一致しないなら、認証失敗
と判断し
認証結果を送信しています
kerberos 認証は
ActiveDirectoryドメイン環境だけで使われる
ドメインメンバー用の認証方式
LM認証とNTLM認証の違いは
レスポンス計算に使うハッシュ値が
LMハッシュか
NTLMハッシュか
という違いになります

preg_replace()

preg_replace()
というものが、facebook アプリを勉強しているところにでてきたので
検索してみました
どうやら、置換する関数のようです
わかりやすい解説が
eregi_replaceも、preg_replaceを使うこと!
に載っていました
reg_replace(“/55/”, “46”, “体重55キロ”)
という例がのっていたので、とてもわかりやすかったです
この場合、55が46に置換されます
特徴的なのは
該当するところが変更されているということです
sed コマンドの置換のようなかんじになります

facebook とソーシャルプラグイン

現在利用できる facebook のソーシャルプラグインは
一覧から確認できます
プラグインの中には
いいね をおす Like Button
これ以外にも
いいね! 送信 ボタンを表示しない facepile などがあります
ソーシャルプラグインの一覧をみるなら
https://developers.facebook.com/docs/plugins/
いいねボタンを設置する Like Buttn なら
https://developers.facebook.com/docs/reference/plugins/like/
facepile については
https://developers.facebook.com/docs/reference/plugins/facepile/
に載っています(いずれも英語サイトですが)

userテーブルのフィールドにアクセスする権限

user テーブルのフィールドにアクセスる権限と
番号の関係のメモ
自分の情報には user
友達の情報には friends
がついているのがほとんど

自分、友達ともに アクセストークンが必要

user_religion_politics
friends_religion_politics
3
user_birthday
friends_birthday
4
user_hometown
friends_hometown
5
user_relationship_details
friends_relationship_details
6
user_relationships
friends_relationships
7
user_about_me
friends_about_me
8
user_location
friends_location
9
user_activities
friends_activities
10
user_interests
friends_interests
11
user_likes
friends_likes
12
user_education_history
friends_education_history
13
user_work_history
friends_work_history
14
user_notes
friends_notes
15
user_online_presence
friends_online_presence
16
自分、友人ともに
email
17
user_website
friends_website

userテーブル 解説

user テーブルはそのままの意味で
ユーザ情報を含むテーブルのこと
uid
整数値
ユーザID
username
文字列
アカウントのユーザネーム
frst_name
文字列
ファーストネーム(名前)
middle_name
文字列
ミドルネーム
last_name
文字列
ラストネーム(姓)
name
文字列
フルネーム
pic_small
文字列
最大 50×150 ピクセル画像へのURL
pic_big
文字列
最大 200×600ピクセル画像へのURL
pic_square
文字列
最大 50×50 ピクセル画像へのURL
pic
文字列
最大 100×300ピクセル画像へのURL
affiliations
配列
ユーザが所属しているネットワーク
ただし、英語環境のみ有効
profile_update_time
整数値
プロフィールの最終更新時刻
timezone
整数値
UTCからのタイムゾーンオフセット値
日本なら +9
religion
文字列
信仰、宗教
birthday
文字列
誕生日
これはユーザのロケールにあわせた形式になる
sex
文字列
性別
hometown_location
配列
出身地
meeting_sex
配列
恋愛対象
meeting_for
配列
目的
relationalship_status
文字列
交際ステータス
significant_other_id
整数値
交際関係にある人のユーザID
political
文字列
政治観
current_location
配列
居住地
activities
文字列
アクティビティ
interests
文字列
興味、関心
isapp_user
真偽値
アプリを使っているユーザなら true
music
文字列
好きな音楽
tv
文字列
好きなテレビ番組
books
文字列
好きな本
movies
文字列
好きな映画
quotes
文字列
好きな言葉
about_me
文字列
自己紹介
hs_info
配列
education フィールドに移動
education_history
配列
education フィールドに移動
work_history
配列
work フィールドになった
notes_count
整数値
作成したノートの数
wall_count
整数値
ウォールへの投稿回数
status
文字列
最新の近況アップデート
has_added_app
真偽値
is_app_user フィールドに移動
online_presence
文字列
チャット可能(オンライン)かどうか示す
active
idle
offline
error
のうちどれかになる
locale
文字列
ロケールID(ja-jpとか)
proxied_email
文字列
facebook が代理でEメールを受けとるためのフィールド
profile_url
文字列
ユーザプロフィールへのURL
email_hashes
配列
メール・アドレス確認のためのハッシュ値
pic_small_with_logo
文字列
最大 50×150 ピクセルの画像へのURL
Facebook のロゴが重なっている
pic_big_with_logo
文字列
最大 200×600 ピクセルの画像へのURL
facebookのロゴが重なっている
pic_square_with_logo
文字列
最大 50×50 ピクセルの画像へのURL
facebook のロゴが重なっている
pic_with_logo
文字列
最大 100×300 ピクセルの画像へのURL
facebook のロゴが重なっている
aloowed_restrictions
文字列
年齢、地域などの制限がある場合に設定
現在は alchol のみ
verified
真偽値
facebookからの登録確認が済んでいるなら true
profile_blurb
文字列
ユーザのプロフィール画像のしたに表示される文字列
family
配列
家族情報
familyテーブルを使った方がいい
website
文字列
webサイトのURL
is_blocked
真偽値
ログインユーザがブロックされているとき true
contact_email
文字列
Eメール・アドレス
でも emailフィールドを使ったほうがよいようだ
email
文字列
facebookが代理でメールを受けとるときのメール・アドレス
third_party_id
文字列
サードパーティが使用できる一意のID
name_format
文字列
日中韓国の名前を扱う際の順序フォーマット
video_upload_limits
配列
ユーザがアップロードできる動画ファイルのサイズと時間の長さ
games
文字列
好きなゲーム
ただし、今後はこれ廃止予定らしいので注意
is_minot
文字列
ユーザがマイナーなときに true
work
配列
職歴情報を含むハッシュ配列
ハッシュには
employer
location
position
start_date
end_date
を含む
education
配列
学歴情報を含むハッシュ配列
ハッシュには
year
type
school
が含まれる
school には
name
id
type
year
degree
concentration
clases
with
が含まれる
sports
配列
好きなスポーツ
id, name を含むハッシュ配列
favorite_athletes
配列
好きな運動選手(ただし、今後廃止の予定)
favorite_teams
配列
好きなチーム(こちらも廃止予定)
inspiration_people
配列
尊敬する人物
id, name を含むハッシュ配列
language
配列
言語
likes_count
整数値
いいね している facebook ページの数
friend_count
整数値
友達の数
mutual_friend_count
整数値
クエリー発行者と共通の友達のかず
can_post
真偽値
投稿が可能なら true

stream filter テーブル と url_likeテーブル

streamテーブルで
フィルター(streamテーブルの filter_key フィールド)
として使用できるフィルター名を含むテーブル
stream テーブルと組み合わせて
ニュースフィードへのアクセスをするには read_stream権限
その他は アクセストークンが必要になります
uid
文字列
フィルターを使用するユーザID
filter_key
文字列
ニュースフィードをフィルタリングするときのフィルター名
name
文字列
ユーザに表示されるフィルターの名前
友達リストのなめとか
rank
整数値
遊佐に表示される位置
icon_url
文字列
アイコンのURL
is_visible
真偽値
ユーザに表示されるときは true
type
文字列
フィルターの種類
app@lication
newsfeedfriendlist
network
public_profile
のいずれか
value
整数値
フィルターの種類を示すID
-----------------------------------–
url_likeテーブル
OGPを含むweb ページをいいねした履歴を含むテーブル
自分の場合なら user_likes権限
友達ならfriends_likes 権限
が必要
user_id
文字列
いいねしたユーザID
url
文字列
いいねしているURL
url_likes にはfacebook 以外のサイトで
いいね! をしたり
それらをシェアした友達の投稿にいいね!したりしたときのURLが蓄積されている
自分がリンクを投稿、シェアしたときには含まれない

stream テーブル

stream テーブル
これは
ニュースフィードに表示される投稿を含むテーブル
ニュースフィードへのアクセスには read_stream
Facebookページの各投稿についての
インプレッション情報(impression feed)
へのアクセスには
rad_isights権限が必要になります
以下が説明
post_id
文字列型
投稿ID
viewer_id
整数値
現在のログインユーザID
app_id
整数値
投稿に使用されたアプリのアプリID
source_id
整数値
投稿対象のユーザ、facebookページ、グループイベント
updated_time
整数値
コメントされたなど、投稿に更新があったときの
最終更新時間
created_time
整数値
投稿の作成時間
filter_key
文字列
フィルターキー
strem_filterテーブルに記録されているキー
もしくは owner, others
attribution
文字列
アプリによる投稿の場合ならアプリの名前
actor_id
文字列
投稿を公開したユーザ、facebookページ、グループイベントのID
target_id
文字列
投稿対象となったユーザ、facebookページ、グループイベントのID
message
文字列
投稿のメッセージ本文
app_data
配列
投稿に関連づけられたアプリ向けの付属情報
action_links
配列
投稿に関連づけられたリンク情報
text , url のハッシュデータの配列を含む
attachment
配列
投稿に関連付けられたデータ
impressions
整数値
インプレッション数
read_insights権限が必要
comments
配列
コメント
次の内容を含むハッシュ配列
can_remove(真偽値)
can_post(真偽値)
count(整数値)
comment_list(配列)
likes
ハッシュ型
いいねの情報
つぎの内容を含むハッシュ
すべての情報を取得するには Graph API で 
post 情報にアクセスする必要あり
href(文字列)
count(整数値)
firends(配列)
user_likes(真偽値)
can_lies(真偽値)
privacy
ハッシュ型
投稿の公開範囲
description(文字列)
value(文字列)
friends(文字列)
allow(文字列)
deny(文字列)
を含む
friendsは
EVERYONE
FRIENDS
FRIENDS_OF_FRIENDS
METWORK
ONLY_ME
CUSTOM
のうちどれかになる
allow, deny は
指定されたユーザID、もしくは友達ID
permalink
文字列型
投稿を表示するためのURL
xid
整数値
ライブストリームでの投稿ID
tagged_ids
配列
タグ付けされている友達などのID
message_tags
配列
タグ付けの情報を示すハッシュの配列
id(整数値)
name(文字列)
offset(整数値)
length(整数値)
を含む
description
文字列
投稿に関していとしないで生成される説明
これを取得するには
最近のアクティビティを含むを有効にすること
description_tags
配列
description に含まれるテキストについてのタグ付け情報を示す
ハッシュ配列
id(整数値)
name(文字列)
offset(整数値)
length(整数値)
を含む
type
整数値
投稿の種類
11、グループが作成された
12、イベントが作成された
46、近況アップデート
56、別の人からのウォール投稿
66、ノートが作成された
80、リンクが投稿された
128、動画が投稿された
247、写真が投稿された
237、アプリによる投稿