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

트위터 스트리밍 앱 관련


딱히 긴 글 적을 곳이 없어서 여기에 적습니다.. Orz.. 어떤 앱에 대한 기능 제안입니다.





순서도처럼 이해가 간단해지는 무언가를 만들어야했는데  글로만 설명해서 죄송합니다.. ㅠㅠ

1. 수신트윗 Broadcast (수신 플러그인)
사용예: 4번에 언급된 기능·자동 짤줍 등의 플러그인
위험: 어떤 앱이든 해당 Broadcast를 읽도록 설계된 앱은 무단 수집의 위험이 있으니 필요시에만 사용자가 켤 수 있도록 해야함. 추가적인 메모리/CPU 자원 사용
구현안A. 수신 트윗에 대한 URL만 Broadcast
장점: 수신플러그인에 URL만 전달하면 되므로 간단하다.
단점: 사용자인증 등 수신플러그인 구현의 어려움(상대적) + 팔레트와 수신플러그인 동시 수신으로 인한 데이터/자원 사용량 증가.
구현안B. 수신 트윗에 대한 내용을 Broadcast
장점: 수신플러그인 구현의 쉬움(상대적) + 팔레트가 수신한 트윗을 활용하므로 데이터 사용량 최소화.
단점: 이번 30초 동영상 기능처럼 트위터 기능 변동시 플러그인은 물론, 팔레트도 대응해야 플러그인이 작동함.

2. 무인 트윗 인텐트 (송신 플러그인)
사용예: 자동트윗/예약트윗 플러그인(봇트윗), Now Playing 플러그인, 트위카의 플러그인처럼 공식 업로드 외의 서비스용 플러그인, 기본 카메라 앱에서 찍은 사진을 감지하고 바로 트윗으로 올릴 수 있는 앱
위험: 사용자가 미리 허락한 앱 외에는 제한을 두어야(화이트리스트) 의도치 않은 스팸으로부터 안전할 수 있다.


1번과 2번 지원이 어렵다면 아래 기능을 살펴봐주세요.

3. 자동트윗/예약트윗 기능(봇트윗)
장점: 트윗봇넷 등의 별도 서비스 가입 없이도 자동트윗/예약트윗 가능, 팔레트의 트윗쓰기를 활용하므로 그림 첨부 가능
단점: 기기가 켜져있어야 제시간에 트윗됨..및 데이터량 사용

4. 아카이토리처럼 다른 앱에서도 흘러가는 트윗을 볼 수 있게 하는 기능
서술: 왠지 실시간 새로고침(유저스트리밍) 클라면서 앱 전환시 못본다는건 왠지 아쉬워서 제안합니다.
장점: 제목과 서술에 설명되어있듯 언제나 트윗을 볼 수 있음
위험: 항상 스트리밍을 켜둔다는 점 때문에 자원 사용량 증가. 화면이 꺼질 경우 이 기능도 일시 중단될 있도록 해야할 것입니다.

5. 실시간 새로고침 구동시 replies=all 지원


>얌츤츤: 어 2번은 태스커 + 파이썬 + sl4a 로 할수 있겠네요
http://giantmetalrobot.blogspot.kr/2011/05/android-tweeting-with-python-tweepy-and.html?m=1

어라 이거 연구 좀 하면 굉장히 재미있는게 생길수도;;;

 >LaruYan: 다른 앱의 플러그인 식으로 만들도록 하는 제안이라..<



2015-02-10
------------------

만든 앱이 배터리를 너무 많이 먹는다아..
동영상 플레이어가 6%로, 하드웨어 코덱으로 돌아가긴 했지만 네트워크 플레이.
그 다음이 내 앱. 4%나 먹다니..
단순히 스트리밍되는 트윗을 보여주고 마는 잉여한 앱 주제에 저렇게 많이 먹으면 안된단 생각이 들었다아..

일단 트윗을 파싱하는 방법을 바꾸어야하나..
최대한 API에 있는 기능으로, 축소 주소를 직접 읽어들이는 대신, 트윗 json에 같이 딸려오는 확장URL을 꺼내 쓰고 그마저도 캐시가 되어있으면 캐시에서 꺼내쓰는걸 우선시 하는데도 이러니.. 흐음.. 공앱처럼 타사 미리보기 꺼내오려면 더 네트워크 사용량이 발생할 것 같구..
실시간 트윗을 여러개 파싱할 때 최적화하려면 어떻게 해야할까나..





아침에 파일이름 문제 해결한다고 고친 부분이 파일 캐시 관련 메소드에서 제대로 적용되지 않아 매번 파일을 다운로드하고 있었다아..< 이런 버그가 안잡혔다니 라루얀 멍청하다

프로필 사진 이름을 그대로 받아들이던 시절에 만든 프사끼리 이름이 겹쳐서 둘이 인장을 공유한 것 처럼 표시되는 현상을 발견했다..! 트윗json에 따라오는 계정주 ID를 파일 이름에 붙여넣기 할까나.. 그렇다고 미디어에까지 계정주ID를 넣는건 오버킬이고 겹친적도 없으니 여긴 안넣어야지..< (다른사람의 미디어를 그대로 복붙해오는 경우도 있으니까)

2015-02-16

-----------------


공앱주소의 동영상 형식은 쉽게 파싱할 수 있는 물건이 아닌 것 같다아..
https://pbs.twimg.com/ext_tw_video_thumb/568001181700468737/pu/img/ABW-8v0LioODtYn-.jpg
https://video.twimg.com/ext_tw_video/568001181700468737/pu/vid/480x480/mklXANkqsBXjFh6f.webm 로 바뀌니까.
움짤은 그냥 파일이름도 같아서 디렉토리만 좀 변경하면 바로 나오는데.

이건 공앱을 상어질 하는게 나을 지도..




 2015-02-18
-----------------


흐아암.. 공식움짤이랑 공식이미지(여러개)가 한 트윗에 있으니까 혼란을 겪네.. Orz 공웹이 아니라 내 앱이. 배치를 용이하게 하려고 했던 일이 부메랑이 되서 날아온 느낌.
이 희귀한 상황까지 대처를 해야하는데 최대 4장 * (140/22)개 링크 = 최대 24장이 될 수 있으니 이건 오버킬일 것 같단 말이지.. 그만큼 표시하면 세로모드로 해도 한줄 꽉 찬다구..! 이럴 땐 공앱의 대응을 살핀다(?) 공앱은 움짤을 더 우선시하고, 첫번째 미디어 짤을 우선시한다..!


2015-02-18

----------------
소프트버튼(내비게이션 버튼) 구역에 트윗을 보여주게하자!..로 시작한 프로젝트가 1시간만에 좌초되었다고 합니다.. ._.)...
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.2_r1/android/view/WindowManager.java
여기서 소스코드를 보고 높아보이겠다 싶은 레벨들을 수동으로 넣어서 굴려봤는데 권한 없음 오류가 나네요. 그래서 권한을 넣으려고 SystemUI.apk 뜯어서 되겠다 싶은 권한들을 가져가려고보니 시스템 앱에만 주어지는 권한이네요.. 어떡하지..(?) 에휴..
엣지 트윗이라고 이름까지 붙였는데(?)



달려고 했더니 권한 없음



권한을 달라고 했더니 시스템 앱에만 주어짐



2018-02-22

---------------



Comments

Popular posts from this blog

윈도 10 에서 WLAN AutoConfig 껐다켜서 주기적인 속도 저하를 막기

Wi-Fi가 뭔가 다운받으려면 주기적으로 속도가 줄어드는데 이 현상을 뭘로 검색해야 할까요.. 서버문제는 아닌거 같은게 MS에서 다운로드할 때도 그랬고 Xubuntu 받으려고 토렌트 쓸 때도 그렇거든요. ac건 n이건 다 발생하는중이기도 하구요. 핑 걸어보니 Wi-Fi - AP 간 핑튐이 있네요...   Ping Spike 로 검색해본 결과 관리자 권한으로 아래의 명령을 쳐보세요 netsh wlan set autoconfig enabled= no interface=" Wi-Fi "   (단, Wi-Fi라는 네트워크 디바이스 이름은 컴퓨터마다 다를 수 있음) 를 시도했더니 핑튐이 좀 줄었어요. 여기서 Wi-Fi 라는건 설정 - 네트워크&인터넷 - 상태 - 어댑터 설정 변경 누르면 나오는 창에 '네트워크 연결'의 이름입니다. 예> 로컬 영역 연결     하지만 이 방법은 한가지 단점이 있습니다. Wi-Fi 검색이 아예 안되게 되서 도중에Wi-Fi를 바꾸거나 끊어야할 때 다시 설정을 바꿔야한다는 것이죠. 설정을 원래대로 돌릴 땐 netsh wlan set autoconfig enabled= yes interface=" Wi-Fi "  입니다. no를 yes로 바꾸세요. 실행직후 지금까지 연결되어있었던 Wi-Fi랑은 연결이 끊어지며 Wi-Fi AP검색이 실행돼 다시 접속하게 됩니다. 출처 타래 https://mobile.twitter.com/LaruYan/status/1144792372481363969 ------------------------------ 2019-07-07 그래서 랜카드별로 Roaming Sensitivity (로밍 민감성), Roaming Aggressiveness (로밍 적극성)설정이나 Game/Multimedia Mode 설정이 있는건데 이 서피스에는 관련 설정이 전혀 없네요.(?)

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를 누르면 실시간 변환 모드로 재생되니 일단은 괜찮아요.

윈도10 포트 고갈(유령 점유) 문제 해결방법

이렇게 시작됐어요. 어느날부터 개발툴이며 로컬 실행이며 프로그램 실행이며 포트가 막혔다며 포트가 바뀌거나 아예 작동되지 않는 일이 일어나기 시작했어요. 웹 개발시 리액트는 포트 번호나 로컬 주소를 콘솔에 띄워주지 않고 바로 웹브라우저를 띄우다보니 닫고 나면 다시 열 때 기본 포트 3000번이 아니면 이걸 못 찾으니 netstat 이나 Process Explorer , TCPView 등에서 찾아보는 등 고생하게 되더라구요. 예시로 든 프로그램은 IntelliJ IDEA 라는 개발 도구인데,  이 프로그램은 6942부터 6991까지 총 50개의 포트를 시도하기 때문에 한두개 막혀서 일어나는 문제가 아니였던거예요. "IDE가 서버 시작을 위해 폴더를 잠그려고 하면 번호 6942 부터 6991까지의 포트 중 먼저오는 하나를 점유하려고 합니다. 범위내 포트 50개가 모두 점령된것은 흔한 일이 아닙니다. 네트워킹 오류나 보안SW 때문일 수 있습니다." -IDEA 구동 실패: 주소가 이미 사용중입니다, JetBrains 커뮤니티- 그밖에 3306번을 쓰는 MySQL도 켜지지 않아서 포트를 바꿔줘야하는 상황도 겪었고, 이 때 개발초보인 저에겐 이 포트번호를 쓰는 개발품의 포트 설정을 모두 바꿔줘야하는 불편이 있었어요. 그런데 이렇게 누군가 먹어버린 포트는 netstat 등의 도구를 쓰면 나오기 마련이죠? 그런데  제가 겪은 문제는 이들 프로그램에서 해당 포트는 점유되지 않은 걸로 나왔고 그래서 sudo nc -l -p 3306 같이 직접 점유를 시도해보는 방법밖에 알 길이 없었어요.  이럴 때 재부팅을 시켜보면 점유된게 사라지곤 해서 다행으로 여기고 쓰다 보면 다른데가 점유되어 있더라구요. 흠... 그래서 인터넷에 검색을 해서 Hyper-V의 vEthernet 어댑터도 꺼보고 했지만 오래 가는 해결 방법은 아니었어요. 그러다가 문득 IntelliJ IDEA에서 범위단위로 포트를 찾는다는 생각에 검색어를 '포트 점유'에서 '포트