iOS 버전의 원신에서 켜자마자 클립보드를 복사해갔다는 "Safari에서 붙여넣은 원신" 메시지가 뜬 이미지가 돌아다녔는데요.
이 메시지는 iOS 14에서 추가된 클립보드 관련 시스템 메시지로 어떤 앱이 다른데서 복사한 클립보드 내용을 자기 앱으로 가져갔음을 의미해요. 그리고 iOS 14부터 등장한 이 메시지를 통해 iOS의 여러 앱에서 클립보드를 복사해갔다는 것이 들통나 시끄러웠기도 했어요.
그러면 하나. 안드로이드나 PC판에도 그러지 않을까 싶어 불안감이 커지실 수도 있을 것 같아요.
다행히 안드로이드에서는 안드로이드 10.0 (API 29) 부터 기본 키보드 외에는 포커스를 갖지 않은 백그라운드 앱이 클립보드를 읽어갈 수 없으니 기본적인 부분은 안심하셔도 되요.
그러면... 이번 경우처럼 포어그라운드, 현재 메인으로 띄워져있는 앱의 경우는 어떨까요? 아쉽게도 이에 대한 메시지(iOS처럼 "A앱에서 붙여넣은 B앱")나 이를 막는 제어 기능은 없더라구요. 😂😂
그렇다고 낙심하지 마세요.
3년전 xda 글에 따르면 adb 명령을 통해 클립보드 접근을 제어할 수 있다고 하니까요.
adb shell 을 실행하시려면 PC에서는 여기를 눌러 윈도, 맥, 리눅스 용으로 platform tools를 내려받아 실행할 수 있도록 압축을 풀어두셔야 하고 안드로이드 기기에서는 USB 디버깅을 켜두셔야 명령 실행이 가능해요. 이 부분은 검색을 통해 확인하실 수 있는데 대략적으로는 설정 앱의 기기 정보에서 '빌드 번호'를 8번 이상 누르고 화면 잠금(설정된 경우에만)을 풀어주시면 되요.
압축이 풀린 폴더에 명령 프롬프트를 여시면 되는데, 주소 표시창에서 cmd를 입력한 뒤 엔터를 누르시면 그 폴더의 자리의 명령 프롬프트가 열려 편해요.
그리고 한 번 클립보드 접근하는 앱이 얼마나 많은지 확인해볼까요. 개발자가 READ_CLIPBOARD 권한을 선언한 앱은 설치 후 이 권한이 자동으로 주어져요.
접근 허용된 앱> adb shell cmd appops query-op --user 0 READ_CLIPBOARD allow
접근 차단된 앱> adb shell cmd appops query-op --user 0 READ_CLIPBOARD ignore
생각보다 많은 앱이 쓰고 있는것을 보실 수 있어요. 이걸 다 차단해야 하느냐. 그건 아닐거예요. 또한 각각의 앱에 자리한 입력 칸에서 붙여넣기 기능을 쓸 수 없게 되어 불편하기도 하구요.
아래의 명령을 써서 차단이나 허용(원래 상태로 복구)가 가능해요. 이 명령은 앱의 데이터를 지우는걸로는 복구되지 않아요. 명령 입력 없이 앱 재설치로도 권한을 복구시키실 수 있어요.
접근차단 명령> adb shell cmd appops set <패키지명> READ_CLIPBOARD ignore
접근허용 명령> adb shell cmd appops set <패키지명> READ_CLIPBOARD allow
현재 원신을 켜서 클립보드 접근을 확인해볼 수 있는 곳은 로그인 창이겠죠?
붙여넣기 메뉴도 잘 있고 붙여넣기를 눌러도 잘 작동하고 있어요. 영상(차단 이전)
그러면 시험삼아 원신의 클립보드 접근을 차단해보죠.
접근차단 명령> adb shell cmd appops set com.miHoYo.GenshinImpact READ_CLIPBOARD ignore
네 이제 어떻게 되나 확인해볼까요?
붙여넣기 메뉴가 사라진 것을 확인할 수 있고 다른데서 입력칸에 뜬 붙여넣기 메뉴를 눌러봐도 붙여넣기가 작동하지 않는걸 보실 수 있어요. 영상(차단 이후)
삼성폰을 쓰시는 분에게는 삼성 키보드의 클립보드 메뉴를 열어 붙여넣기하면 잘 되는것을 보실 수 있는데 이건 키보드에서 입력시켜주는 기능이라 그런것 같아요.
이렇게 <패키지명>을 바꾸면 다른 앱에 적용하실 수 있다는걸 알게 되었어요.
그럼 이 패키지명은 어디서 확인하느냐 플레이 스토어의 공유 메뉴를 통해 또는 웹 플레이스토어 주소를 보시면 바로 알 수 있어요. id=바로 뒷글자 부터 & 앞까지가 패키지명이에요. &은 없을 수도 있어요.
play.google.com/store/apps/details?id=com.miHoYo.GenshinImpact&hl=ko
오늘은 원신 등 안드로이드 앱의 클립보드 읽기 접근을 차단하는 방법을 찾아냈어요.
언젠가 안드로이드에서도 iOS 14처럼 화면에 뜨는 클립보드 접근 메시지가 생기거나 접근을 제어할 수도 있겠죠?
참고로 안드로이드용 원신에는 기기에서 허용여부를 선택할 수 있는 권한(그러나 iOS와 달리 권한 없으면 작동하지 않을 수도 있음) 중 카메라, 저장소 권한을 요구할 수 있다고 되어있어요. 카메라는 말 그대로 카메라 사진/동영상 촬영/녹음이구요. 저장소는 사진이나 음악 등 기기에 저장된 파일을 읽고 쓸 수 있음을 의미하지만 오랜시간 또는 많은 양의 데이터를 내려받아야하는 오디오/그래픽/동영상 등 대용량 리소스들을 같은 기기에서의 재설치 등 여러가지 이유로 다시 내려받지 않기 위해서도 쓰는 권한이예요. 다른 안드로이드 게임에서도 요구하고 있죠.
---------------
2020-09-30
첫 게시
---------------
2020-10-01
저장소 권한 사용처 부연설명 추가
---------------
2021-11-15
오타 1자 수정 (제보 감사합니다)
Comments
Post a Comment