windows_指定したexeに対してDLLインジェクションでコピペを検出する

前回は自分自身のプロセスに対してDLLインジェクションを実行しメッセージボックスの表示内容を変更しました。今回は指定したEXEに対してコピー&ペーストを検出できるようにしたいと思います。

それではDLL側のプロジェクトをまず作成していきます。

続きを読む

windows_DLLインジェクションで自分自身のプロセスのMessageBox関数のアドレスを変更する

前回まではsetWindowsHookExを使ってメッセージボックス表示の関数呼び出しをフックしていたのですが、今回はDLLを読み込んだ際に既存のMessageBox関数のアドレスを上書きすることでフックできるようにしたいと思います。

やりたいことはこちらの東京工業大学 ロボット技術研究会のページに載ってありました。ロボ技研のページでは指定したプロセスに対してDLLインジェクションさせていたのですが、今回はまずLoadlibraryを実行して自分自身のプロセスに対してDLLインジェクションを実行したいと思います。

続きを読む

windows_他のソフトのメッセージボックスを変更してみる

前回は同一プロセス内のメッセージボックスの内容を変更したので、今回は別プロセスのメッセージボックスの内容を変更したいと思います。ただし、今回の方法は対策を取るのが可能なようで再現できるかどうかはソフトによるような感じです。

まず、setWindowsHookExの公式のドキュメントを確認してみると、lpfnのパラメータの説明としてdwThreadIDパラメータで0(すべてのスレッド)を対象にする場合ダイナミックリンクライブラリ(DLL)内に存在するフックプロシージャへのポインタを指定しなければなりませんとあります。

続きを読む

windows_同一プロセス内のメッセージボックスを変更してみる

windowsの環境でsetWindowHookExを使って同一プロセス内のメッセージボックス表示の処理をhookし内容を変更できるようにしたいと思います。別のソフトでのメッセージボックス表示内容を変更できるようになったら面白そうですが、まずは同一プロセス内のメッセージボックスに対して変更できるようになりたいと思います。

プロジェクトはvisual c++で作成します。
MsgBoxをhookする部分のファイルはいかのようになりました。

続きを読む

windows_LowLevelKeyboardProcでキーボード入力をフックしてコードを変更してみる

Windows環境 LowLevelKeyboardProcで入力されたキーコードを変更する

LowLevelKeyboardProcwindows環境でsetWindowsHookEx関数と併用してキーボード入力があったときに呼び出されるコールバック関数になります。アクティブなウィンドウがなにかにかかわらずコールバックで呼び出されるので、これを利用して入力されたキーコードを変更するいたずらを実行してみたいと思います。

visual c++のフォームプロジェクトを作成して、以下の手順で修正します。

続きを読む

webpack入門_hot-module-replacement

前回はwebpack-devserverで開発ができるようになりました、今回はwebpack-devserverでの開発中にhot-module-replacementでファイルの修正を検出してhot reloadできるようにしたいと思います。

webpack.config.jsには以下の修正を加えます。
- devServerにhot: trueの項目の追加
- pluginsにmnew webpack.HotModuleReplacementPlugin()を追加

続きを読む