タグ

ブックマーク / egggarden.hatenadiary.org (2)

  • 細かいWinデバッグテクニックのメモ - やや温め納豆

    (12/05)追記したら記事の方向性がわかりやすくなったのでタイトルも変えた(笑 UserDebuggerHotKey GUIアプリケーションに対してデバッガがアタッチしているとき、このレジストリキーで設定されたキーを押すと、ブレークが発生しデバッグすることができようになる。環境によってはできないこともあるみたい? .ocommand (WinDbg) WinDbg上でプロセスにアタッチする .ocommand メタコマンドを実行する 以後 OutputDebugString のプレフィックスに がついているものは 以降がWinDbgコマンドとして解釈される 残念ながら、カーネルランドでは利用できない。 指定したプロセスの起動を置き換える(MSDN) HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution

    細かいWinデバッグテクニックのメモ - やや温め納豆
    mattn
    mattn 2009/12/04
  • x86命令のバイトコードを理解する - やや温め納豆

    ある命令をバイト表現でハンドアセンブルしたいとき、Intelのオペコード表の見方を理解していないと非常に苦労する。しかし、Intelのマニュアルはとっつきづらい*1ところがあり、理解するのに時間がかかるので、ヒントとしてまとめていく。ちなみに、小数点系やx64については扱わない。 用意するもの Intel命令セット リファレンス OllyDbg(ハンドアセンブルして確認するため。実際は何でもよい) OllyDbgで適当なバイナリを開いて、命令行を右クリックして表示されるメニューでバイナリを編集できる。 [Assemble...]はアセンブラで記述することができる [Edit] > [Binary edit...]はバイトコードで記述することができる オペコードの表記 バイナリアンが最も好む命令はINT 3、NOP、JMPであることは疑いようがないので、ここではJMPを例にとる。JMPのオペ

    x86命令のバイトコードを理解する - やや温め納豆
    mattn
    mattn 2009/09/24
  • 1