1

新しい iTunes の興味深い機能は、接続されているデバッガー プロセスを受け入れることができないことです (F-Script のような機能を損なうツール)。これには検出方法が含まれるだけでなく、実行中に自分自身をアタッチするデバッガー、または自分自身をアタッチしようとしたときにデバッガーが発行するエントリポイント メソッド。さらに、プロセスを終了せずに (いわば) 終了するようにデバッガーに指示する方法が必要です。問題は次のとおりです。明らかに、X 秒ごとにデバッガーをポーリングすることは非効率的であり、特定のプロセス (ptrace() のようなオーバーライドを使用しない) へのアタッチを許可しないことは、非常にプライベートなことのように思えます。

4

1 に答える 1

4

iTunes は、デバッガー (および F-Script や DTrace などの他のプロセス) がプロセスにアタッチするのを停止するフラグptrace(PT_DENY_ATTACH)を設定する呼び出しを行っています。P_LNOATTACH

OS X アプリを DTrace から隠すことは可能ですか? を参照してください。詳細については。

iTunes が検出方法を積極的に使用してデバッガーを識別しているとしても、私は驚かないでしょう。Apple は、iTunes の DRM を保護するために多大な努力を払ってきました。

デバッガーの検出など、Cocoa アプリケーションを保護する方法が記載された書籍が多数あります。頭に浮かぶ可能性のあるタイトルがいくつかあります (これらの内容を再確認していないため、検出方法があるとは想定していません): 「Mac Hacker's Handbook」、「Hacking and Securing iOS Applications」、「Professional Cocoa Application Security」、および「C & C++ 向けセキュア プログラミング クックブック」。

「Mac OS X Internals」および「Mac OS X and iOS Internals」には、何かが含まれている可能性がありますPT_DENY_ATTACH

于 2013-01-25T04:01:08.733 に答える