Skip to main content

원신 등 안드로이드 앱/게임의 클립보드 접근을 막기

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 권한을 선언한 앱은 설치 후 이 권한이 자동으로 주어져요. 접근 허용된 앱> ad

원신 등 안드로이드 앱/게임의 클립보드 접근을 막기

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

Popular posts from this blog

VLC로 크롬캐스트에 영상 전송하기

크롬캐스트는 구글이 만들고 TV나 모니터의 HDMI 포트에 꽂는 동글로, 파일을 읽는 기능은 없지만 유튜브, 구글 플레이 무비, 푹, 라프텔 등 지원되는 서비스에서 스트리밍되는 영상을 연결된 화면으로 뿌려주는 역할을 해요. 현재 1세대,  2세대, 울트라, 3세대까지 나왔어요. <세대별 차이> 1세대 (단종) - 2.4GHz 와이파이 Wi-Fi 4 (802.11n)만 지원 - 최대 1080p @ 30fps - VP8, AVC(H264) 영상 재생 - HDMI 플러그가 동글에 고정 - TV의 USB 포트 전원만으로 작동 2세대 (단종) - 5GHz 와이파이 Wi-Fi 5 (802.11ac)도 지원 - 최대 1080p @30fps, 720p @60fps - HDMI 플러그가 기기에서 나와 케이블로 연결, 유연한 설치 가능 울트라 (국내 미출시. 해외 직구시 $69) - 최대 2160p UHD - HDR10, 돌비비전(HDR) 지원 - 동봉된 전원공급기를 꽂아둬야 하며, 여기에 유선 인터넷 연결이 가능. 3세대 (판매중, 54,900원) - 최대 1080p @60fps <크롬캐스트를 지원하는 동영상 플레이어> 범용 동영상 플레이어 앱 중에서는 VLC(PC판 클래식) , nPlayer (유료) 가 크롬캐스트로 영상을 전송시킬 수 있는 것으로 보여요. 팟플레이어는 캐스트 기능을 못찾겠네요. 따라서 오늘은 VLC를 통해 영상을 캐스트해볼게요. ㅣ_ㅣ)V 방법은 간단해요. 크롬캐스트를 켜두시면 렌더러에 뜨는데, Playback - Renderer 메뉴의 목록에서 크롬캐스트 이름을 클릭하시면 되요. 이 때 재생중인 영상이 PC에선 사라지고 캐스트 단말에만 뜹니다. 앞서 말했듯 크롬캐스트는 세대별로 지원 코덱이나 스펙이 차이납니다. 이 규격에 맞지 않는 영상은 못 볼까요? 아니에요. ' ')+ 아래의 창에서 OK를 누르면 실시간 변환 모드로 재생되니 일단은 괜찮아요.

카카오톡을 업무용으로 쓰기에 끔찍한 이유.

카카오톡은 끔찍합니다. 폰을 초기화 시키면, 아니 유심카드 뽑아다 다른 폰에 꽂은 뒤 전화번호 인증만 다시 해줘도 그동안 쌓아온 대화기록이 날아가버리고 없는거를 업무에 쓴다니.. 아니되요.. 이런 특성 때문에 높으신 분들은 일 덮는데 딱이라며 좋아하시겠지만은... 카카오톡이 제공하는 채팅기록 백업을 쓰셨다구요? 안됐군요! 백업 이후에 주고받은 대화는 날아가고 없을 것이며, 텍스트만 백업되기 때문에 사진과 영상들은 모조리 날아가고 없을겁니다. 라인이나 왓츠앱은 구글 드라이브에 백업을 넣을 수 있다는 것만 다르죠.   카카오톡은 PC카톡 등 이용시 친구목록을 보기위해 매번 비밀번호를 직접 입력해야 합니다. 인증 절차도 단순하고 기기별로 설정할 수 있는 PIN, 2차 비밀번호, 네이버에 있는 일회용 로그인 번호 등도 없으며 매 잠금해제/로그인시 카카오 계정의 비밀번호를 그대로 입력해야합니다.  비밀번호를 기억해내서 자주 입력해야 한다는건 갈수록 복잡해지는 비밀번호에 대한 피로 때문에 남들도 알기쉬운 쉬운 비밀번호를 설정해버린다거나 키로거 등 악성코드가 입력한 비밀번호를 수집해버리는 등 보안적인 측면에서 좋지 않습니다. 메신저를 고르는데 1. 군입대 같이 접속 오랫동안(3일 이상) 못해도 못 받는 일이 없어야 한다면. 2. 컴퓨터, 태블릿, 폰. 기기마다 제각각인 대화기록 등을 백업하고 관리하는데 진절머리 나신다면. 3. 기기 댓수 제한 없이 소유기기 모두에 로그인해두고 싶다면 4. 앱이 세팅된 폰이 없어도 로그인 할 수 있는 번호기반 메신저를 원하신다면. 텔레그램으로 오십시오. https://telegram.org/ 텔레그램에서는 1. 폰번호 공유, 접속중 표시는 설정할 수 있습니다. 2. 연락처는 친구 추천용이며 서버와 동기화하지 않아도 됩니다. (ID로 친추 가능) 3. 대화기록은 물론 사진과 영상도 서버에 저장되고 기기끼리 동기화 됩니다. 4. 2차비밀번호 설정 가능. (로그인시 SMS/메시지 인증후