Android

Google Play Store의 업데이트 정책 변경

Google의 Play Store에서 다른 안드로이드 마켓을 잠식할 생각인가 보다. 다른 마켓에서 구매한 앱도 package name과 version을 비교한 후에 업데이트가 가능해졌다. 다만, 테스트 결과 미묘하게 신경써서 이슈화 하지 않으려 한 노력이 보이는데 다음과 같다. Google Play를 통해 구매한 앱이 아닌 경우, Update Available 목록에 나오지 않는다. (이전에 Google Play를 통해 구매한 내역이 있는 경우, 다른 마켓에서 […]

Google Play Store의 업데이트 정책 변경 Read More »

어느 안드로이드 피싱 앱 구경하기

[서울지방법원]민사소송으로인한소환서가발부되었습니다 내용확인 <어떤 링크> 라는 문자가 오는 Sniffing 문자를 지인 홈페이지에서 발견, apk를 한번 열어보았다. 그 속에 요청하는 permission들은 android.permission.RECEIVE_SMS : 문자를 감시할 수 있다. android.permission.INTERNET : 인터넷을 사용할 수 있다. android.permission.ACCESS_NETWORK_STATE : 네트워크 상태를 확인할 수 있다. android.permission.READ_PHONE_STATE : 핸드폰의 상태를 확인할 수 있다. android.permission.RECEIVE_BOOT_COMPLETED : 시스템이 시작하는 이벤트를 받는다. android.permission.RESTART_PACKAGES : 다른 application을

어느 안드로이드 피싱 앱 구경하기 Read More »

Context.MODE_MULTI_PROCESS

이전 글에서 Shared Preferences를 통해 데이터를 교환하는 것은 좋지 않다고 했지만, 써야할 때가 있다.  이 때 다른 app에서 값을 분명이 바뀌었는데 읽혀지지 않는 경우가 발생한다.  그렇다고 Shared Preference를 읽어오는데 실패하지도 않았고. 이 때는 아래와 같이 context.getSharedPreferences(__SHARED_PREFERENCES_NAME, Context.MODE_WORLD_READABLE | Context.MODE_MULTI_PROCESS); MODE_MULTI_PROCESS를 넣도록하자. 이는 열려진 Shared Preference라도 수정사항이 발생하지 않았는지 읽어오기 전에 파일을 확인한다. 하지만, 역시 Shared

Context.MODE_MULTI_PROCESS Read More »

내 Shared Preferences 파일은 어디에

Shared Preferences가 파일로 데이터를 저장하는 것이고, Android에서 이것을 쉽게 도와주는 것이라는 것은 모두 알 것이다.  그럼 어딘가에 저장되어 있다는 것인데, 이파일이 꼭꼭 숨겨져 있지 않고 찾기 쉬운 곳에 있다. 혹시 다른 app 간 통신에 Shared Preferences를 이용하고 있다면, 그 파일이 실제로 저장되었는지도 확인할 필요가 있다. 파일의 위치는 AndroidManifest.xml에 적힌 package 이름에 영향을 받는다. /data/data/[YOUR_PACKAGE_NAME]/shared_prefs/[YOUR_PACKAGE_NAME]_preferences.xml Default가

내 Shared Preferences 파일은 어디에 Read More »

어떤 keystore로 sign되었는지 확인하는 방법

my.debug.keystore와 my.keystore 2개를 만들면 편하다는 글을 썼었다. 그럼, my.debug.keystore를 이용해 sign된 상태일 때만, Log가 출력되도록 하는 것은 어떨까? 이 때 내가 어떤 keystore를 이용해 sign되었는지 판단하는 방법이 필요하다. 이를 확인하는 함수는 간단하다. 다음과 같다. private boolean isDebugMode() { if (0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE)) { return true; } else { return false; } }  

어떤 keystore로 sign되었는지 확인하는 방법 Read More »