이전 버전의 Android에서 스크린 샷을 캡처하기 위해 루팅 된 전화가 필요한 이유는 무엇입니까?


21

전화기의 스크린 샷을 캡처하려면 모든 스크린 샷 응용 프로그램에 루팅 된 전화기가 있어야한다는 것을 알고 있습니다. 왜 그렇습니까? Windows와 마찬가지로 Android 용 간단한 스크린 샷 응용 프로그램을 사용할 수없는 이유는 무엇입니까?


2
필자는 항상 iPhone 에서이 기능을 즉시 구현하면서 Android에서 활성화하는 것이 중요하다는 사실을 알고 있습니다.
shambleh 2016 년

1
대략 안드로이드 4.0부터는 볼륨 작게 + 전원 버튼을 눌러 스크린 샷을 찍을 수 있습니다. 이것은 기본적으로 제공되는 기능이며, 앱이 필요하지 않습니다 (후손 및 검색 엔진에는 여기에 표시되지 않음)
Piskvor

답변:


17

대답은 다소 간단하며 권한 문제입니다.

Android는 비디오 디스플레이에 프레임 버퍼 를 사용합니다. 프레임 버퍼는 / dev / graphics / fb0에 있습니다. 이 "파일"은 기본적으로 사용자 인터페이스가 변경 될 때 장치가 쓰는 스트림 인 화면 표시의 ~ 2 프레임을 포함합니다.

프레임 버퍼 파일에 대한 권한은 rw- rw- ---입니다. 마지막 "그룹"에는 3 "-"가 있습니다. 그것은 기본적으로 당신이 owner(루트가 아닌) 그 파일을 읽을 권한이 없다는 것을 의미합니다.

스크린 샷을 찍을 수있는 시스템 설치 응용 프로그램이있는 경우 프레임 버퍼에서 읽을 수있는 권한이 있습니다. 모토로라 Xoom이 스크린 샷을 찍는 방법입니다. 장치에 시스템 응용 프로그램으로 응용 프로그램이 설치되어 있습니다.

개발자에게 프레임 버퍼를 읽는 것은 실제로 읽을 수있는 권한이 있다면 간단합니다.


1
Google의 권한이에서 (으)로 업데이트되어야합니다 r--. 앱이 화면에서 스파이 할 수있는 경우 보안 위험이 발생할 수 있지만 설치하기 전에 승인해야하는 권한 중 하나 ( 이 앱은 화면을 모니터링 할 수 있음 )가 아닙니까? 또는 Google은 메뉴 플라이 아웃에 내장 된 화면 캡처를 추가해야합니다. 그러면 아무도 액세스 할 수 없습니다. 후자의 경우는 매우 그렇습니다. 방금 Chrome에 인쇄 미리보기를 추가하고 있습니다.
JD Isaacks 2016 년

3
시장 앱만 화면을 읽을 수 있다면 o + r의 모드가 보안 문제가 될 것이라고 생각합니다.
kzh

나는 그것이 달려 있다고 생각합니다. Windows OS는 응용 프로그램이 스크린 샷을 찍는 것을 막지 않습니다. 지금까지 스크린 샷으로 인한 보안 문제가 있습니까?
Cheok Yan Cheng

Windows에서 스크린 샷을 찍을 필요는 없습니다. Windows 시스템에서 데이터를 가져 오는 훨씬 쉬운 방법이 있습니다. 모바일은 더 큰 관심사라고 생각합니다. 신용 카드를 처리하는 Square와 같은 앱을 생각해보십시오. 카드가 스 와이프되었을 때 청취 한 서비스를 작성한 경우 화면을 잡고 신용 카드 번호, 이름 등과 같은 정보를 가져올 수 있습니다.
Ryan Conrad

7

Android의 보안은 모든 앱을 서로의 데이터와 분리하는 데 중점을두기 때문에 악의적 인 앱이 신뢰하는 앱의 데이터를 훔치거나 변경하는 것을 방지하기 위해 앱이 다른 앱의 스크린 샷을 찍을 수 없습니다.

OCR과 같은 작업을 수행하여 사진을 텍스트로 번역 할 수있는 앱의 수를 생각해보십시오. 휴대 전화에서이를 수행 할 수있는 앱이 4 개 이상이라고 생각할 수 있습니다. 외국어 텍스트 블록 번역 이제 신뢰할 수없는 응용 프로그램을보고 싶지 않은 화면에 텍스트를 넣는 응용 프로그램의 수에 대해 생각하십시오. 다양한 시스템의 암호 데이터베이스가 암호화 된 휴대 전화의 암호 데이터베이스 응용 프로그램이 있으며 악의적 인 스크린 세이버 앱이 기다릴 수 있습니다 암호 앱이 실행될 때까지 로그인 세부 정보가 표시된 화면을 찍은 다음 OCR을 사용하여 보내십시오. 주소록 데이터베이스 또는 브라우저 기록에 앱 권한을 부여하지 않아도 주소록 목록의 모든 항목에 대해 동일한 작업을 수행 할 수 있습니다. 채팅 로그 등. 이것은 화면 액세스를 남용 할 수있는 유일한 방법입니다.

그렇기 때문에 스크린 샷이 보편적이기 때문에 OS (모든 데이터를 이미 신뢰하고 있음)에 있어야합니다. 스크린 샷 기능이 내장 된 전화기에서 별도의 앱이 아닌 시스템의 일부로 추가 된 이유가 여기에 있습니다.

휴대 전화를 뿌리고 앱이 스크린 샷을 찍도록 허용하는 경우 다른 앱과 해당 데이터에 액세스하고 방해하는 것을 포함하여 시스템이 수행 할 수있는 모든 작업을 수행 할 수 있도록 해당 앱을 암시 적으로 신뢰한다고 효과적으로 말하고 있습니다. 이 액세스를 남용하지 않는 것을 완전히 신뢰하십시오. 그것은 안드로이드가 시스템 / OS 이외의 것을 허용하는 것이 아닙니다.


6

짧은 대답 : 1) 컴퓨터가 복잡하고 2) 스크린 샷 기능이 실제로는 간단하지 않습니다 (사용자가 아닌 프로그래머에게는).

다시 말해서, 스크린 샷을 찍으려면 스크린 샷 프로세스가 OS 내부에 깊숙이 들어가서 약간 혼란스럽게 한 다음 다시 연결 해제해야합니다. Android는 기본 제공 보안 모델 (Windows에서 볼 수있는 "볼트 온 (bulted-on-thought)"과 반대로)을 시도하기 때문에 여러 보안 장벽에서 스크린 샷을 이동합니다. 그것들 우회 수는 있지만, 현재 실용적인 방법 (커널에 구멍을 뚫지 못하고 잠재적 인 취약점이없는)은 강력한 루트 계정을 사용하는 것입니다.


1
컴퓨터 하드웨어 작동에 대해서는 잘 모르지만 GPU가 화면에 "이미지"를 전송한다고 가정합니다. 이미지를 가로 채서 저장할 수 없습니까?
JD Isaacks 2016 년

2
@ John Isaacks는 기본적으로 프레임 버퍼에서 발생합니다. 왜 여전히 루트가 필요한지에 대한 내 대답을 참조하십시오.
Ryan Conrad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.