web-dev-qa-db-ja.com

32ビットバージョンと64ビットバージョンのWindowsMedia Playerの違いは何ですか?

最近、K-Liteコーデックパックの標準バージョンをダウンロードしました。高度なインストールプロセスを選択すると、標準の32ビットではなく64ビットバージョンのWindows MediaPlayerを構成して自動的に使用するオプションが表示されました。

2ビットバージョンと64ビットバージョンのWindows Media Playerの違いは何ですか?それぞれでファイルを再生することの長所と短所は何ですか?

1
Hashim

違いは、他のプログラムの32ビットバージョンと64ビットバージョンの違いとほとんど同じです。 WMPの場合、気になるのはおそらく次のとおりです。

  • 32ビットの最大ユーザーモードメモリアドレス空間は2GBですが、64ビットの最大メモリは事実上無制限です(2 ^ 63バイト、既存のコンピュータの物理メモリよりはるかに多い)。実際には、これは実際には重要ではありません-WMPは、ファイル全体を同時にメモリに保持しようとするのではなく、ファイルの部分的な読み取りをバッファリングするのに十分賢いので、開いているファイルの大きさはほとんど関係ありません-しかし、理論的には、RAM 64ビットプロセスが多くのファイルをバッファリングできるため、I/O操作が削減されます(特に多くを探している場合)。
  • 64ビットプロセスは32ビットプロセスよりもわずかに安全です。これは、 アドレス空間レイアウトランダム化(ASLR) がより多くのエントロピーを使用できることと、ポインターが32ビット長の場合にポインターの整数オーバーフローがはるかに容易であるためです。 64ビット長の場合よりも。うまくいけば、これは問題ではありませんが、セキュリティバグが発生することがあり、その場合、64ビットプロセスの方が少し回復力が高い可能性があります。
  • プロセスは、プロセス自体と同じビット数のライブラリ(DLL)のみをロードできます。つまり、32ビットプロセスは64ビットDLLをロードできず、その逆も同様です。つまり、64ビットバージョンを持たないDLL(プラグインなど)を使用している場合、それらのプラグイン(またはその他)を使用することはできません。

実際には、デフォルトは変更しません。 Win10ではWMPのデフォルトは32ビットのままであり、おそらくそれで問題ありません。

1
CBHacking

パフォーマンスに関しては、永遠にほとんど何もありません。 64ビットWMPは64ビットコーデックに依存しており、理論的にはより複雑なソフトウェアモード(CPUで実行)でメリットがありますが、ほとんどのコーデックはハードウェアモードを念頭に置いて作成されています(はるかに適切なGPUを使用)。

互換性に関しては、事実上ありません。エキゾチックなフォーマットは、32ビットまたは64ビットでのみ利用可能なバイナリのみのコーデックで作成される可能性がありますが、そのようなフォーマットは非常にニッチです。

セキュリティの観点から、64ビットコーデックを備えた64ビットメディアプレーヤーは、 [〜#〜] aslr [〜#〜] の恩恵を受ける可能性があります。より大きなメモリアドレス( 4096倍 、これは実際の攻撃と理論上の攻撃で異なる可能性があります)。このようなオーバーフロー攻撃は、Androidの Stagefright の背後にある鍵であり、 多数 がありました。 )バッファオーバーランに依存するWMPの脆弱性。