携帯電話のスクリーンショットをキャプチャするには、すべてのスクリーンショットアプリケーションでルート化された携帯電話が必要です。これはなぜですか?Windowsのように、Android向けのシンプルなスクリーンショットアプリケーションを作成できないのはなぜですか?
携帯電話のスクリーンショットをキャプチャするには、すべてのスクリーンショットアプリケーションでルート化された携帯電話が必要です。これはなぜですか?Windowsのように、Android向けのシンプルなスクリーンショットアプリケーションを作成できないのはなぜですか?
回答:
答えはかなり単純で、権限の問題です。
Androidは、ビデオディスプレイにフレームバッファと呼ばれるものを使用します。フレームバッファーは/ dev / graphics / fb0にあります。この「ファイル」は、基本的にはユーザーインターフェイスの変更が発生したときにデバイスが書き込むストリームであり、画面表示の〜2フレームが含まれています。
フレームバッファファイルの権限はrw- rw- ---
です。最後の「グループ」には3つの「-」があります。つまり、あなたがowner
(rootでない)場合は、そのファイルから読み取ることすら許可されていません。
システムにインストールされたアプリケーションがあり、スクリーンショットを撮ることができた場合、フレームバッファから読み取る許可が与えられます。これが、Motorola Xoomがスクリーンショットを撮ることができる方法だと思います。システムアプリとして、デバイスにアプリケーションがインストールされています。
開発者にとって、フレームバッファーの読み取りは、読み取り権限があれば簡単です。
r--
。これは、アプリが画面をスパイできる場合にセキュリティ上のリスクを引き起こす可能性がありますが、インストールする前に承認する必要がある許可(このアプリは画面を監視できます)の1つではありませんか?それまたはGoogleは、メニューのフライアウトに組み込みのスクリーンキャプチャを追加する必要があります。そうすると、他の誰もアクセスできなくなります。後者は非常によくあることで、Chromeに印刷プレビューを追加しているところです。
Androidはすべてのアプリを互いのデータから分離することに重点を置いているため、悪意のあるアプリが信頼するアプリのデータを盗んだり変更したりするのを防ぐため、アプリが他のアプリのスクリーンショットを撮ることを許可しません。
OCRなどの機能を使用して写真をテキストに変換できるアプリの数を考えてみてください。これを行うことができるスマートフォン上のアプリは少なくとも4つ考えられます。外国語のテキストブロックの翻訳。信頼できないアプリに見せたくないテキストを画面に表示するアプリの数を考えてみましょう。さまざまなシステムのパスワードの暗号化されたデータベースを備えた携帯電話にパスワードデータベースアプリがあり、悪意のあるスクリーンセーバーアプリが待つ可能性がありますそのパスワードアプリが実行されるまで、ログイン詳細が記載された画面の写真を撮り、OCRして送信します。連絡先データベースやブラウザの履歴へのアクセス許可をアプリに付与しなくても、連絡先リストのすべてに対して同じことを行うことができます。またはチャットログなど。これは、画面へのアクセスを悪用する唯一の方法です。
これが、スクリーンショットを普遍的にするために、OS内にある必要がある理由です(すべてのデータで既に信頼しています)。これが、スクリーンショット機能が組み込まれている携帯電話に、別個のアプリとしてではなく、システムの一部として追加された理由です。
電話をルート化して、アプリがスクリーンショットを撮ることを許可すると、他のアプリやそのデータへのアクセスや干渉を含め、システムが実行できるすべてのことをアプリが暗黙的に信頼することを事実上言っています。そのアクセスを悪用しないことを完全に信頼します。これはAndroidがシステム/ OS以外にできることではありません。
簡単な答え:1)コンピューターは複雑であり、2)スクリーンショット機能は実際には非常に単純ではありません(ユーザーではなくプログラマーにとって)。
言い換えれば、スクリーンショットを撮るには、スクリーンショット作成プロセスがOS内部にかなり深く引っ掛かり、それらを少し混乱させ、再びフック解除する必要があります。Androidは(Windowsで見られる「ボルトオン後付け」とは対照的に)組み込みのセキュリティモデルを使用しようとするため、いくつかのセキュリティ障壁についてスクリーンショットを撮ります。これらはバイパスできますが、現在実用的な唯一の方法(カーネルにホールを作成すること、および潜在的な脆弱性を作成すること以外)は、強力なルートアカウントを使用することです。これは制限の対象ではありません。