nProtectの大いなる罠   2005/08/25 (Thu)  01:19  [Programming]

MMO(Massive Multi-player Online)なゲームに使われることの多い nProtect ですが、これ、開発者や特定アプリにとっては大いなる罠となります。

nProtect 自身は解析対策用のプログラムみたいなので、nProtect 起動中は VC++ でデバッグができなくなったり Ollydbg でアタッチができなくなったりするのはまだ分かるのですが、それ以外にちょっといただけない機能が仕込まれていたりします。
それは何かというと、フック機能の無効化です。フックを使うとマウスやキーボードのイベントを監視できるのですが、nProtect が起動しているとこの機能をシステムにインストールすることができなくなります。あらかじめ起動してある場合は大丈夫なのですが、nProtect の起動後にフックを使用するアプリを起動したりするとダメなようです。nProtect としては特定の操作でマクロを起動させるような自動化ツールを防いでいるつもりでしょうが、少しやりすぎな感がします。

そのようなわけで、アプリケーションランチャーのような、画面端にマウスを移動させると窓が出たり、特定のマウスのクリックの仕方で窓が出るようなアプリを起動する場合は、nProtect を起動する前に起動しないとダメです。また、確認してはいないのですが、nProtect を起動する前にアプリを起動したとしても、窓が出た時に一度フックをアンインストールし、窓が消えた時にフックを再度インストールするような構造になっているとダメそうな気がします。

No TrackBack.
No Comment.

writeback message: Thanks for your Comment!