[ Android ] 안드로이드 앱 난독화, apk decompile 방법

2021. 3. 29. 18:01Android

728x90
반응형
SMALL

안드로이드 프로젝트에서 생성한 apk를 난독화 하는 방법입니다.

 

1. 안드로이드 프로젝트의 build.gradle 파일에서 buildTypes 에 다음과 같이 추가합니다.

buildTypes가 없다면 android를 찾아서 추가합니다.

 

android {
    buildTypes {
    	release {
            minifyEnabled true

            proguardFiles getDefaultProguardFile(
                'proguard-android.txt'),
                'proguard-rules.pro'
        }
    }
}

release 에 minifyEnabled, shrinkResources, proguardFiles 를 추가 후

안드로이드 프로젝트 최상단에 proguard-rules.pro 파일을 생성합니다.

 

2. proguard-rules.pro 파일은 각자 상황에 맞게 난독화 설정을 합니다.

   경로는 app폴더 내에 생성해 주시면 됩니다.

ex)

-keepattributes *Annotation*,SourceFile,LineNumberTable

3. gradle.properties 파일에 다음 코드를 추가합니다.

android.enableR8=true
android.enableR8.libraries=true

4. 이후 Build - Generate Signed Bundle / APK 에서 APK를 생성하시면 난독화 된 앱이 생성됩니다.


난독화 된 앱을 확인하려면 apk를 decompile 하여야 합니다.

방법은 다음과 같습니다.

 

1. 우선 다음 파일들을 모두 다운 받습니다.

 

dex2jar

 

jd-gui

 

2. 모두 압축을 풀고 dex2jar 폴더에 apk파일을 집어 넣습니다.

 

3. cmd 창을 열어 해당 폴더로 진입합니다.

 

4. d2j-dex2jar.bat [[apk 파일 풀네임]] 를 입력합니다.

d2j-dex2jar.bat [[apk 파일 풀네임]]

 

5. 생성된 jar 파일을 확인 후 jd-gui 파일을 실행시킵니다.

 

6. jar파일을 선택하여 난독화 여부를 확인합니다.

 

난독화가 되면 위와 같이 이름들이 알파벳으로 바뀝니다.

728x90
반응형