トップページ > プログラム > 2014年05月30日 > I46UGUDy

書き込み順位&時間帯一覧

8 位/210 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000011215



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Win32API質問箱 Build117
スレを勃てるまでもないC/C++の質問はここで 22

書き込みレス一覧

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になっていました


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。