dポイントプレゼントキャンペーン実施中!

 趣味でフックについて勉強しているのですが、フックを他アプリケーションに仕掛けようと思っても、そのアプリケーションの仕様がわかっていなければ効果的なフックを仕掛けることは無理だと思うのですが、世の中にはいろいろなアプリケーションに対して、フックを使ってその機能を強化したプログラムが多々あります。
 それではどうやってそのアプリケーションの仕様を知るのでしょう。


力ない私なりに2つ考えてみました。

(1)考えた方法としては、自分で他プロセスにフックを仕掛けて、そのプロセスでどのようなメッセージのやりとりが行われているか調べる

(2)逆アセンブルしてそのプログラムがどのようなアルゴリズムなのかを推測する


(1)の方法は、私の力でもできないことはないとは思うのですが、自分作成したプログラムや一定のアプリケーションに対しては動作するのですが、マインスイーパに対して仕掛けても、メッセージを受け取ることができませんでした。(あれは1つ1つが小さなオーナー描画ボタンだと推測してWS_COMMANDを調べたけど、実は違うメッセージだったとか、他スレッドでメッセージ処理されてるのかな・・?)
そんなこんなで、なんだかこの方法は、片っ端から細かく仕様を調べようとすると、かなり疲れそうです。

(2)の方法も、アセンブルを解読するのはかなり疲れそうですが、この方法であれば可能な気がしてならないのです。(しかし私はまだアセンブルを学習していない)
(ところで、マインスイーパなどのゲームも、逆アセンブル禁止の対象なんですかね・・。)


そこで質問なのですが、対象の仕様を知るためには、(1)の方法がよいのか、(2)の方法か、それとも他に方法があるのか教えてください。

A 回答 (1件)

(1)フックなどしなくても、例えば VC には spy++ というツールが付属しています。

これでメッセージの確認ができます。

また、フックの際にはそのメッセージが Post されるのか Send なのか意識して区別する必要があります。

> (ところで、マインスイーパなどのゲームも、
> アセンブル禁止の対象なんですかね・・。)

提供元に直接確認するのが安全かと思います。

この回答への補足

探したところ、winspectorというものがありました。
http://www.windows-spy.com/
なんだかSpy++よりすごいということがいっぱい書いてあるので、これを使ってみようと思います。

ありがとうございました。

補足日時:2006/03/10 11:11
    • good
    • 0
この回答へのお礼

spy++がそんなにすごいツールだとは思っていませんでした。ただクラス名がわかるだけかと・・。

私は貧乏なので意地になって有償なものは極力使わないことにしているのですが、VC++は結構な値段でありました・・。

そこで、Spy++に換わる、無償で機能を同じくするツールはありませんか?

お礼日時:2006/03/10 03:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!