1

IDA Pro を使用して Windows アプリケーションをデバッグしています。ある時点でFindWindowA、指定されたクラス名のウィンドウが呼び出され、正常に検索されることがわかりました。

ただし、Spy++ を使用して指定されたクラス名のウィンドウを見つけると、どこにも存在しないように見え、見つけることができません。

アプリケーションが呼び出されたときに何らかの方法で内部的に見つけるこの同じウィンドウをどのように見つけることができるのだろうかFindWindowA? 外部アプリケーションが同じウィンドウを見つけられないのはなぜだろうか...

4

1 に答える 1

3

通常、Spy++ からウィンドウを非表示にすることはできません (プログラムが意図的に Spy++ をフックしてウィンドウを非表示にしない限り)。Spy++ (および他の同様のプログラム) は、OS が認識しているすべてのウィンドウを表示するように設計されています。

いずれにせよ、IDA を使用すると、 に渡される実際のパラメーター値を確認できるFindWindowA()ので、それらの同じ値を独自のコードにコピーするだけです。その他のアプリがウィンドウを見つけることができる場合、同じパラメーター値を使用するアプリもウィンドウを見つけることができます。

于 2012-10-30T19:09:59.847 に答える