タグ

ブックマーク / ruffnex.oc.to (2)

  • 自前でDLLをプロセスへマッピングさせる方法 〜LoadLibrary関数の作成〜

    はじめに 私は以前「リバースエンジニアリング」という記事を書きました。そして、この記事の最後の「絶対にKrackされないソフトウェアの作り方を考える」にて、マシン語を暗号化したプログラムを内部に入れておき、特定のパスワードを入力しなければ任意のコードが復号化されず、結果的に任意のコードが実行されないようにするというテクニックを書きました。しかし、このテクニックは前回の記事で書いた通り、実用性に欠けます。 そして数ヵ月後くらいに私のところへあるメールが来ました。その内容は「DLLをプロセスへマッピングする処理を自前で作成し、暗号化したDLLイメージを動的に復号化して、プロセスへマッピングさせるようにすれば、暗号化しておきたいプログラムをDLLとして作成しておくことができ、実用性が大きく増すのではないか?」というものでした。つまり「プロセス内にあらかじめ暗号化した状態のDLLイメージを持ってお

  • bh-jp-08-Aiko-JP.ppt

    1 NetAgent Co., Ltd. http://www.netagent.co.jp Kenji Aiko  2 API(関数)フックとは •  アプリケーションが、外部ライブラリ(.dll、.so ファイル)に存在する関数(命令コード)を呼び 出す際、jmp命令やcall命令などを一時的に 変更することで、別の関数へ処理を飛ばすテ クニック •  Linux(UNIX系)、Windowsそれぞれで、API フックを実現するライブラリが存在する 3 APIフックの種類 •  関数の先頭アドレス書き換えによるフック (Detours法) •  プロセスのIAT(Import Address Table)書き 換えによるフック •  DLLの置き換えによるフック •  SSDT変更によるSystemServicesフック  他にも多くの方法がある… 4 Windows CryptoA

    rti7743
    rti7743 2009/08/31
    ADVAPI32.dll のフックって楽しそう。
  • 1