DTraceによる検査から隠したいOSXアプリケーションを開発しています。私はP_LNOATTACH
旗を知っています、しかし私が読んだすべてはそれを回避する方法があることを私に教えてくれます。出来ますか?
2 に答える
前述のように、PT_DENY_ATTACHでptrace(2)を使用できますが、DTraceまたはデバッガーはこれらの呼び出しをインターセプトして無効にすることができます。さらに、プログラムでDTraceを使用するユーザーが必要です。問題がある場合は、診断を手伝ってもらいましょう。真にプロプライエタリなソフトウェアは、アプライアンスやクラウドなどの制御された環境で実行されます。ユーザーにビットを渡すと、何をしているかを理解するための唯一の方法は時間です。
はい、可能です。iTunesに対してDTraceを実行してみてください。動作しません。
PT_DENY_ATTACHを使用してptrace関数を呼び出す必要があります。
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/ptrace.2.html
ただし、さまざまなkextを使用して回避する方法があります。グーグルの周りとあなたはそれらのいくつかを見つけるでしょう。
10.6および10.7の場合: https ://github.com/dwalters/pt_deny_attach
うーん、ASLRが原因で10.8で壊れているようです: デバッガーの検出とシャークオフ