2009-06-01から1ヶ月間の記事一覧
受験番号 SC337-0787 の方は, 合格 です 午前I得点 85.00点 午前II得点 88.00点 午後I得点 70点 午後II得点 66点 おめでとう、ありがとう。 受験直後の「楽だな」という印象に反して辛勝といった感じ。
Windows 7 RC(x64)をホストとしてVMware Workstation 6.5.2 で2台のUbuntu 9.04(x64)を作成し、一台をデバッグする側、もう一台をデバッグされる側とする。
AppInit_DLLsとはHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\以下にあるレジストリーキー群で、 AppInit_DLLs インフラストラクチャにより、アプリケーションは任意の DLL をすべてのユーザー モード プロセスに読み込むこと…
オリコンが10〜40代の男女を対象に『夢や目標を達成させるために必要なもの』について調査を行ったところ、性別・世代別の全ての部門で【自分自身の強い信念・精神力】が1位となった。 目標達成に必要なもの、男性は「運」女性は「行動力」 カッコ良すぎわろ…
はせがわさんの記事を見ていてふと思い出したわけですよ。 「LANケーブルを中継するように接続するだけでウイルス侵入・データ盗難の防止」とのことですが、昨今、イーサ経由ばかりではなく電源コンセントからの情報漏えいにも配慮しなければならないのだそ…
Instead of using the x86 system-service call sequence, 32-bit binaries that make system calls are rebuilt to use a custom calling sequence. This calling sequence is inexpensive for WOW64 to intercept because it remains entirely in user mod…
WOW64サービステーブルというのは、wow64.dllのなかに実装された関数テーブル。WOW64プロセスがシステムコールを発行したときに、x64システムコールへの変換を行うため透過的に呼び出される。前回までの調査でこいつのシンボル名はwow64!ServiceTablesである…
もうちょっと実装よりに、Win7(RC)x64 で以下のコードを用いて違いを確認する。 int _tmain() { __debugbreak(); FlushProcessWriteBuffers(); return 0; } FlushProcessWriteBuffersは、引数なし戻り値なしのとても単純なAPIなので、処理の概要を理解するの…
要点をコードで。Win7(RC)x64でのみ動くので、あくまで例示ということで。 まとめ1:eaxにシステムコール番号、ecxにディスパッチ関数番号を入れて、call dword ptr fs:[0C0h] するとWOW64からシステムコールを発行できる このプログラムは、自分でWOW64のN…
ここでいってること。チェックは以下のシーケンスになっている。 PsSetCreateProcessNotifyRoutineEx(Routine, IsRemove) +-PspSetCreateProcessNotifyRoutine(Routine, IsRemove, 1) +-MmVerifyCallbackFunction(Routine) 関数を登録する際にMmVerifyCallba…
カーネルで何かやろうとするとすぐに、文書化された方法がない(ように思われる)状況になる。PoCやら趣味やらのコードであれば、泥臭い方法で逃げれることが多いのだけど、プロダクションの場合そうもいかないだろう。文書化されていない方法ってのは、良い…
WOW64 Implementation Details Best Practices for WOW64 Registry Reflection in Windows あたりを読んでめぼしい情報をメモ。さすがに全部和訳するのはだるい。 (追記)日本語のドキュメントが公開されました! 64 ビット Windows プログラミング ガイド
Winの開発環境を作るために、Ubuntu Desktop 9.04(x64)の上に仮想マシンを立てるとする。VMwareで済ますのは非常に簡単なのだけれども、せっかくだから俺はこのKVMを試すぜ、という按配で少しやってみた。 結論としては、動作自体は極めて良好で不快感を覚え…