전화기의 스크린 샷을 캡처하려면 모든 스크린 샷 응용 프로그램에 루팅 된 전화기가 있어야한다는 것을 알고 있습니다. 왜 그렇습니까? Windows와 마찬가지로 Android 용 간단한 스크린 샷 응용 프로그램을 사용할 수없는 이유는 무엇입니까?
전화기의 스크린 샷을 캡처하려면 모든 스크린 샷 응용 프로그램에 루팅 된 전화기가 있어야한다는 것을 알고 있습니다. 왜 그렇습니까? Windows와 마찬가지로 Android 용 간단한 스크린 샷 응용 프로그램을 사용할 수없는 이유는 무엇입니까?
답변:
대답은 다소 간단하며 권한 문제입니다.
Android는 비디오 디스플레이에 프레임 버퍼 를 사용합니다. 프레임 버퍼는 / dev / graphics / fb0에 있습니다. 이 "파일"은 기본적으로 사용자 인터페이스가 변경 될 때 장치가 쓰는 스트림 인 화면 표시의 ~ 2 프레임을 포함합니다.
프레임 버퍼 파일에 대한 권한은 rw- rw- ---
입니다. 마지막 "그룹"에는 3 "-"가 있습니다. 그것은 기본적으로 당신이 owner
(루트가 아닌) 그 파일을 읽을 권한이 없다는 것을 의미합니다.
스크린 샷을 찍을 수있는 시스템 설치 응용 프로그램이있는 경우 프레임 버퍼에서 읽을 수있는 권한이 있습니다. 모토로라 Xoom이 스크린 샷을 찍는 방법입니다. 장치에 시스템 응용 프로그램으로 응용 프로그램이 설치되어 있습니다.
개발자에게 프레임 버퍼를 읽는 것은 실제로 읽을 수있는 권한이 있다면 간단합니다.
r--
. 앱이 화면에서 스파이 할 수있는 경우 보안 위험이 발생할 수 있지만 설치하기 전에 승인해야하는 권한 중 하나 ( 이 앱은 화면을 모니터링 할 수 있음 )가 아닙니까? 또는 Google은 메뉴 플라이 아웃에 내장 된 화면 캡처를 추가해야합니다. 그러면 아무도 액세스 할 수 없습니다. 후자의 경우는 매우 그렇습니다. 방금 Chrome에 인쇄 미리보기를 추가하고 있습니다.
Android의 보안은 모든 앱을 서로의 데이터와 분리하는 데 중점을두기 때문에 악의적 인 앱이 신뢰하는 앱의 데이터를 훔치거나 변경하는 것을 방지하기 위해 앱이 다른 앱의 스크린 샷을 찍을 수 없습니다.
OCR과 같은 작업을 수행하여 사진을 텍스트로 번역 할 수있는 앱의 수를 생각해보십시오. 휴대 전화에서이를 수행 할 수있는 앱이 4 개 이상이라고 생각할 수 있습니다. 외국어 텍스트 블록 번역 이제 신뢰할 수없는 응용 프로그램을보고 싶지 않은 화면에 텍스트를 넣는 응용 프로그램의 수에 대해 생각하십시오. 다양한 시스템의 암호 데이터베이스가 암호화 된 휴대 전화의 암호 데이터베이스 응용 프로그램이 있으며 악의적 인 스크린 세이버 앱이 기다릴 수 있습니다 암호 앱이 실행될 때까지 로그인 세부 정보가 표시된 화면을 찍은 다음 OCR을 사용하여 보내십시오. 주소록 데이터베이스 또는 브라우저 기록에 앱 권한을 부여하지 않아도 주소록 목록의 모든 항목에 대해 동일한 작업을 수행 할 수 있습니다. 채팅 로그 등. 이것은 화면 액세스를 남용 할 수있는 유일한 방법입니다.
그렇기 때문에 스크린 샷이 보편적이기 때문에 OS (모든 데이터를 이미 신뢰하고 있음)에 있어야합니다. 스크린 샷 기능이 내장 된 전화기에서 별도의 앱이 아닌 시스템의 일부로 추가 된 이유가 여기에 있습니다.
휴대 전화를 뿌리고 앱이 스크린 샷을 찍도록 허용하는 경우 다른 앱과 해당 데이터에 액세스하고 방해하는 것을 포함하여 시스템이 수행 할 수있는 모든 작업을 수행 할 수 있도록 해당 앱을 암시 적으로 신뢰한다고 효과적으로 말하고 있습니다. 이 액세스를 남용하지 않는 것을 완전히 신뢰하십시오. 그것은 안드로이드가 시스템 / OS 이외의 것을 허용하는 것이 아닙니다.
짧은 대답 : 1) 컴퓨터가 복잡하고 2) 스크린 샷 기능이 실제로는 간단하지 않습니다 (사용자가 아닌 프로그래머에게는).
다시 말해서, 스크린 샷을 찍으려면 스크린 샷 프로세스가 OS 내부에 깊숙이 들어가서 약간 혼란스럽게 한 다음 다시 연결 해제해야합니다. Android는 기본 제공 보안 모델 (Windows에서 볼 수있는 "볼트 온 (bulted-on-thought)"과 반대로)을 시도하기 때문에 여러 보안 장벽에서 스크린 샷을 이동합니다. 그것들 을 우회 할 수는 있지만, 현재 실용적인 방법 (커널에 구멍을 뚫지 못하고 잠재적 인 취약점이없는)은 강력한 루트 계정을 사용하는 것입니다.