質問

Windows 上のネイティブ C++ プログラム用のプロファイラーとメモリ チェック ツールを評価しており、それらはすべてインストールしたいと考えています。 そして 管理者権限で実行します。自分のマシンに管理者としてログインすることはめったにありません。何かをインストールする必要がある場合、または管理者権限が必要な作業を行う必要がある場合は、runas を使用しますが、これは非常にうまく機能します。

プロファイラーが管理者権限を必要とするのは正当なことでしょうか、それともプロファイラー開発者が単に怠けているだけなのでしょうか?この理由でこれらのツールをすべて拒否するのは不合理でしょうか?

XP Pro マシン上で VS 2005 を使用して開発しています。

役に立ちましたか?

解決 3

私はこのことについて読んでいると私はゆっくりと、一般的に、プロファイラのようなツールは、管理者のアクセスを必要としないという結論に来るんだけど、あなたがそれを必要とすることを明記して、ツールメーカーはすべての問題を回避するための簡単な方法です権限が不足に関連します。

だから、私は彼らがを推測の怠惰なだけでなく、やや実用的であること。

あります 私は(私は、Windowsのセキュリティモデルには専門家だ)間違っているんだけど、私はこのような状況に対処する一つの方法は、唯一のインストール時に管理者権限を必要とするだろうと考えている場合は、

私を修正してください。そして、ProfilerUsersユーザーグループを作成し、そのグループにすべての必要な権限を付与し、その後、コンピュータユーザーは、そのグループに追加するかを尋ねます。

私が発見した最も衝撃的なことは、多くの開発者は、管理者権限を持つすべての時間を実行することです。

他のヒント

彼らは通常タブーである、他のプロセスのメモリを見ているので。

いくつかのCPUプロファイラは、実際にOSの割り込みを使用して平均の統計を行う...明らかに、彼らはこれを行うことはできませんそのための権限がない:)

は、開発者が設計上の選択のような音。彼らはメモリに周りの探査または動的に、この動作がマルウェアのいくつかの種類から予想されるので、メモリ内のコードを変更する前に管理者権限を要求するのは良いアイデアだと思いましたしている可能性があります。

最も可能性の高い説明は、次のような Win32 デバッグ API を使用して、特殊なデバッガとして実装されているということです。 DebugActiveProcess(). 。これらの関数には PROCESS_ALL_ACCESS (ドキュメントで詳しく説明されています) が必要であり、そのための管理者権限が必要になることが予想されます。

Visual Studio デバッガーである IIRC も、少なくとも C++ に関しては、システムのローカル管理者権限を持っていない限り (適切に) 動作しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top