------------------------------------------------------------------------------------------------
출처: http://samse.tistory.com/entry/usage-of-proguard-on-androidproject
------------------------------------------------------------------------------------------------
상용이던 개인용이던 안드로이드는 자바 코드를 사용하기 때문에 dex tool과 jad tool 등을 이용하면 decompile을 통한 reverse engineering이 가능하다.
proguard는 코딩을 어떻게 하느냐에 따라 난독이 아니라 불독(?)하게도 가능하다.
즉, 전혀 해독이 불가하게 할 수도 있다는 것이다.
좀 더 쉽게 사용이 가능해진다.
이 포스트는 그 방법에 대해 설명한다.
2. Proguard 설치
커맨드라인에서 수행함.
1. 특정 프로젝트에 대한 build.xml을 만듦
** 주의 사항 **
하는 부분들까지도 난독화가 이루어져서 코드가 동작하지 못하는 경우가 발생하는 경우이다.
예를 들어 AndroidManifest나 class name, jni or reflection등을 통해 실제 메소드의 이름을 참조하고 있는 메소드들까지도 난독화를 통해서 작업이 이루어질 수 있다.
첨부된 procfg.txt에는 이런 룰을 지정할수가있습니다. 이는 proguard 인자들중 keep인자 파라메터를 지정하는 방법에 따름인데 아래와 같은 명령을
추가하면 클래스이름을 찾지 못하는 문제는 방지 가능하다.
디버깅시 이용 가능하다.
** mapping.txt 은 클래스가 어떤식으로 난독화 되었는지 기록한다.
** mac에서만 발생하는지 확인되지 않았으나 위 과정 진행중.. 아래와 같은 에러 메세지가 나올 수 있다.
참고 할 만한 사이트
: http://adwithpark.blogspot.com/2010/11/how-to-protect-your-source-code-of.html
http://v.daum.net/link/12412211
'IT_Programming > Android_Java' 카테고리의 다른 글
[android] 비트맵 이미지 애니메이션 구현하기 (0) | 2011.06.01 |
---|---|
[Android] BitmapFactory.decodeStream null 버그 (0) | 2011.03.05 |
화면 회전을 빠르게 처리하기 (Faster Screen Orientation Change) (0) | 2010.06.30 |
How to add Google Adsense Ads to your Android App (0) | 2010.06.28 |
onSaveInstanceState 와 onRetainNonConfigurationInstance 의 차이 (0) | 2010.04.19 |