'안드로이드/Android Security'에 해당되는 글 1건

728x90

난독화란?

앱을 컴파일하여 만들어진 apk 파일을 역컴파일 툴을 이용하면 소스코드가 대부분 보인다.

물론 100% 정확하게 보이는 것은 아니지만, 이런 코드를 사용했고, key 값 등이 노출될 수 있다.

그래서 이런 것을 방지하기 위해 코드를 난독화하는 솔루션을 이용하여 난독화 적용한 앱을 만든다.

이렇게 만들어진 코드는 분석하기가 난해해진다.

 

 

Your APK size is going to be larger when extractNativeLibs is set to false.

Android Studio에서 사용하는 gradle 플러그인의 기본값이 gradle 버전 3.6.0을 기준으로 false로 변경되었다.

extractNativeLibs 값이 true인 경우에만 정상적으로 설치되는것을 확인했다.

 

안드로이드 1차 난독화 파일로 2차 난독화를 위한 파일 생성을 받은 후에 1차 난독화시에 적용했던 서명이 풀린다고 한다. 그래서 Android Studio 를 이용한 서명 자동 추가가 아니라 CMD 명령어로 서명을 직접 추가하는 작업을 해야 한다.

 

zipalign -p -f -v 4 unsigned_CarMail.apk sCarMail.apk
apksigner sign --ks CarMailSender.jks --ks-key-alias carmailsender sCarMail.apk
apksigner verify --print-certs sCarMail.apk

위와 같은 과정으로 생성된 APK 파일을 실행했을 때 설치 실패가 된다면

즉 [INSTALL_FAILED_INVALID_APK] 라면 android:extractNativeLibs="true"

를 추가하면 해결될 것이다.

 

scanrisk 함수를 추가한 경우 난독화 제외 처리를 해주어야 한다.

 

블로그 이미지

Link2Me

,