掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ネットゲームをウインドウモード化するには? (ID:54788)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
以前、BomberManOnlineのSYSWIN.DLLをディスアセンブルした結果が残っていたので見てみると、SystemParametersInfo()とRegisterHotKey()のAPI関数 がアドレスにありました。 ということはそれらを使用して無効化しているのは間違いないようです。 どいういうわけか、BomberManJ.exeは、VC6.0 の混合モードならコードを吐き出したのですが、ディスアセンブルはできませんでした。 なんらかのプロテクトでしょうか? SystemParametersInfo()による無効化は、WINDOWS XP(NT)なので効果はありませんでした。 実行したのは、WM_CREATEにフックをかけた際です。 SystemParametersInfo (SPI_SCREENSAVERRUNNING, FALSE, &spiID, 0); 残るはRegisterHotKey()なのですが、IDC_HOTKEYに割り当てられている数値 は、+0〜500000までforループ走査したのですが・・・・ なんかすごく起動に時間がかかったりして、徐々に走査したのです。 -の場合はないと思うので・・・ 500000から先に定義されている可能性もあるのでしょうか? for(int i=0; i <= 500000; i++) UnRegisterHotKey(hBomber, i); また、これは方法がズレますが、RegisterHotKeyのあるアドレス周辺の、call命令による呼び出しと思われるほとんどの箇所を、9090(nop)に書き換えてみたり、SetWindowsHookExの箇所を9090に書き換えたりしたのですけど、 RegisterHotKeyの呼び出しの箇所を書き換えた際と、他の適当な箇所を書き換えた際での反応が違いました。 RegisterHotKeyの場合は、問題が発生 しましたというMicrosoft仕様のダイアログがでて強制終了、適当な箇所の 場合は、起動してログインする際にDLLのバージョンが違いますというエラーが出ました。 アセンブラは多少できる程度なので、検討はずれなことを言っているかもしれません。 よろしくお願いします。 なんかすごくプロテクトが堅くなっているに間違いありません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.