모바일프로그래밍/안드로이드(43)
-
ProGuard를 통한 안드로이드 애플리케이션의 난독화
저번 문서1에 따라서 코드를 난독화하거나, 최적화를 수행하려고 한다면, 문제가 있을 수 있을 것이다. 안드로이드 에서 제공하는 Ant build 환경이 많이 바뀌었고, proguard 를 지원하고 있기 때문이다. (도대체 얼만큼 많은 안드로이드 버전이 1~2 년 새에 바꼈는 지도 알 수 없을 정도로 많이 바뀌고 있다) 안드로이드 에서 코드 난독화를 하기 위한 방법을 저번 문서2의 예제를 가지고 수행해 보기로 한다. 1. 시작하기 전에 우선, Ant 빌드 환경을 구성하기 전에 앞선 문서에서는 직접 build.xml 파일을 커스터마이징해서 쓰는 방법을 제시 하였는 데, 이렇게 build.xml 파일을 커스터마이징 해서 사용하지 않고서 중간에 내가 커스터마이징 할 타킷을 추가 할 수 있는 방법을 소개 한 적이..
2023.04.11 -
이벤트 기반 아키텍처와 메시지 기반 아키텍처
Android : Event Driven Architecture vs Message Driven Architecture As Android developers, one of the biggest issues that we have to deal with is how to communicate between the Android components without leaking memory, as we have a very limited resources, and it is easy to mess around with the available memory .. www.linkedin.com Android 개발자로서 우리가 처리해야 하는 가장 큰 문제 중 하나는 메모리 누수 없이 Android 구성 요소 간에..
2023.04.02 -
SQLCiper를 통한 안드로이드 Sqlite 데이터베이스 암호화 하기
SQLCiper를 통한 안드로이드Sqlite 데이터베이스 암호화 하기 요즘 하도 보안보아 하니까, 내가 가진 정보를 다른 사람에게 특히 나쁜의도를 가진 사람에게 보여주거나 하지 않기 위해서 암호화라는 것을 많이 선택하게 된다. 나도 이런 상황에서 sqlite 데이터베이스를 안드로이드에서 사용하기 위해서는 어느정도 데이터베이스를 암호화 하고 향후에는 암호화 비밀번호도 동적으로 생성하는 것으로 바꾸려는 원대한 꿈을 가지고 프로젝트에 암호화된 데이터베이스를 집어넣는 작업을 했다. 문제라고 한다면 기존 안드로이드 sqlite API가 아닌 커스텀 데이터베이스 연결 라이브러리를 사용해야 하고, 업데이트라던지 버전관리를 다름아닌 내가 해야 한다는 것이다. 이건 다름아닌 유지보수의 이슈가 아닐까 하긴 하는 데... ..
2023.04.01 -
[Android] MVP 접근 방식으로 상용구 코드를 줄여 봅시다
(BoilerPlate 코드란 모든 코드를 작성하기 위해 항상 필요한 부분을 의미한다) Reduce your boilerplate code using this Android MVP approach For some time I’ve been reading different ways of implementing a MVP pattern on Android. I’m sure you have too. In this article I’m going… medium.com 얼마 동안 저는 Android에서 MVP 패턴을 구현하는 다양한 방법들을 읽어 보았습니다. 당신도 그랬을 것이라고 확신 합니다. 이 기사에서는 이 패턴을 구현하는 가장 좋은 방법을 보여드릴 예정입니다(적어도 저에게는). 패턴에 대해 더 알고 싶다면..
2023.03.28 -
자신만의 Sqlite 설치하고 개발하기
커스텀 Sqlite 설치하고 개발하기 일단 안드로이드에서 sqlite은 기본은 내장된 데이터베이스로 알고 있다. 더 깊이 들어가고 싶으나 아는 것은 여기 까지고, 대신 이 데이터베이스를 사용해서 기본적을 디바이스 내에서 데이터의 CRUD 작업을 할 수 있다고들 한다. 그러면... 과연 도데체 왜? 커스텀으로 sqlite을 설치하려고 하는 것인가에 대한 문제가 남는 것 같다.. 사실 그냥 내장 sqlite을 사용하는 것이 더 쉽고 간단한 일인데, 굳이 컴파일 해서 라이브러리를 빌드 할 이유가 무엇일까? 추측컨데, 물론 극히 개인적인 견해인데, 다음 두가지가 아닐까 한다. 첫번째는 개발자의 자존심 - 황당하기는 하다만 나도 할 수 있다는 것을 보여주고 싶다 두번째는 다음 사이트1에서 서두에 언급한 내용이..
2023.03.23 -
디버깅 가능한 Android 애플리케이션 공격하기
디버깅 가능한 Android 애플리케이션 공격하기 이전 기사에서 JDB라는 작은 도구를 사용하여 Java 애플리케이션을 디버깅하는 방법을 살펴 보았습니다... blog.naver.com 이전 기사에서 JDB라는 작은 도구를 사용하여 Java 애플리케이션을 디버깅하는 방법을 살펴 보았습니다. 이 기사에서는 Android 앱을 디버깅 할 수있는 플래그가 지정된 경우 동일한 로직을 적용하여 Android 앱을 개발합니다. 응용 프로그램에 디버그 가능 플래그가 지정되면 취약한 응용 프로그램 프로세스의 컨텍스트에서 실행하기 위해 자체 코드를 삽입 할 수 있습니다. JDB를 사용하여 자바 애플리케이션 디버깅하기 이 기사에서는 독자가 #JDB 라는 #명령 행 도구를 사용하여 #Java 프로그램을 디버깅하는 방법에 대..
2023.03.07