android

안드로이드의 유용한 shell 커맨드

앱 메모리 정보 확인하기 안드로이드는 리눅스 기반 O/S로 쉘을 사용할 수 있다. 가장 기본은 adb shell 인데, 위의 명령어만 치면 shell로 진입한다. 그 후 안드로이드에서 지원하는 명령창 툴들을 사용할 수 있다. 하지만, shell로 진입하는게 부담스럽다면 adb shell dumpsys 와 같이 shell 다음에 바로 툴을 입력할 수도 있다. 위 명령어는 너무 많은 데이터를 한번 쳐보면 알겠지만, […]

안드로이드의 유용한 shell 커맨드 Read More »

인텔리제이에서 키스토어(Keystore) 위치 지정하기

일반적인 경우, 키스토어(Keystore)는 Android Studio나 Intelli J같은 IDE에서 관리를 해준다. 취미로 개발하는 경우에는 기본으로 내장된 키스토어를 사용하면 되고, 신규로 키스토어를 만드는 경우에도 마법사 기능을 통해 잘 지원한다. 그런데, 여러개의 앱을 같은 키스토어를 이용해 사인(signing)한 후에 자원(resource)를 공유한다던가, 기존에 만들어진 키스토어를 새로 셋팅된 IDE에 넣고 싶다면 어떻게해야할까? 키스토어를 지정해주어야한다. 인텔리제이 12를 기준으로 설명하면, 실제로 앱을 마켓에

인텔리제이에서 키스토어(Keystore) 위치 지정하기 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 »

내 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 »