- Win32API質問箱 Build117
452 :デフォルトの名無しさん[sage]:2014/05/30(金) 20:54:20.69 ID:I46UGUDy - GetProcAddressのフックを有効にしている状態で他のプロセス(A)を起動するとエラーになるので
Aにマッピングしているdllで定義されているGetProcAddressでデバッグしてみた所 モジュール名:uxtheme.dll 関数名:不適切なPtr となってたのですがなぜですか? 予め他のプロセスを起動した状態でフックを開始した場合は問題ありません
|
- スレを勃てるまでもないC/C++の質問はここで 22
159 :デフォルトの名無しさん[sage]:2014/05/30(金) 21:38:27.59 ID:I46UGUDy - static変数abcがあるのにそのクラスをdeleteした場合
new Ctest delete Ctest ここでどうやって使うん
|
- スレを勃てるまでもないC/C++の質問はここで 22
162 :デフォルトの名無しさん[sage]:2014/05/30(金) 22:20:18.99 ID:I46UGUDy - deleteした後にどうやって使うん
Ctestはもう死んでるやん?
|
- Win32API質問箱 Build117
454 :デフォルトの名無しさん[sage]:2014/05/30(金) 22:24:56.54 ID:I46UGUDy - コピペじゃないです
|
- Win32API質問箱 Build117
457 :デフォルトの名無しさん[sage]:2014/05/30(金) 23:41:39.73 ID:I46UGUDy - >>456
ImageDirectoryEntryToDataを使用してメモリ内にあるkernel32.GetProcAddressのアドレスが格納されている場所を探して my.GetProcAddressに置き換えています my.GetProcAddress内では フック対象の時はmy.*のアドレスを返す フック対象外の時はkernel32.GetProcAddressに引数を渡して戻り値を返す という動作に加えて 引数のHMODULEからモジュール名を取得して GetProcAddressの引数情報(モジュール名と関数名)をメインプロセスにWM_COPYDATAで送信しています この部分で関数名を表示しようと不適切なPtrを使用してしまうのでエラーになってしまいます 送信する部分をコメントアウトしても return GetProcAddress(HMODULE, char*)としているのでchar*が不適切なPtrのまま実行されています 終了時にもOLEAUT32.dllとCOMCTL32.dllで不適切なPtrになっていました
|