1. 요구사항
Android AppSealing은 다음과 같이 빌드된 앱을 지원합니다.
- Unity 엔진 : 4.6 이상
- Unreal 엔진: 버전 4.1 이상
- Flutter: 버전 2 ~ 3.x
- 리액트 네이티브: 0.60 ~ 0.81 ( 0.70 이상 권장 )
- Android SDK: EOS/EOL 문서 참조
2. 실링
2.1 APK 또는 앱번들 업로드
Android AppSealing을 적용하기 위해서는 APK 파일 또는 앱번들 파일을 AppSealing 서버로 업로드하여 실링 과정을 마무리하셔야 합니다.
① AppSealing 개발자 콘솔에 접속하여 실링 페이지로 이동. (Fig.1)
(Fig.1)
② 파일 업로드 (Fig.2)
먼저 보안을 적용한 APK 또는 AAB 파일을 선택합니다.
(Fig.2)
③ 옵션 선택
파일을 선택한 뒤, 단계별로 필요한 기능을 선택한다음 "앱실링 적용" 버튼을 눌러 보안을 적용할 수 있습니다.
단계별 안내:
-
파일 업로드
해당 페이지에서 업로드할 APK/aab를 먼저 선택해야 다른 기능을 설정할 수 있습니다. 또한 보안이 적용될때 항상 활성화되는 기능들을 '상시 적용 기능' 패널로 안내하고 있습니다.
-
기본 설정
- 앱의 프레임워크, 적용할 앱실링 버전 및 배포 모드를 선택할 수 있습니다.
- 핵심 보안이 되는 Dex 암호화/난독화 등 보호 기능을 설정할 수 있습니다.
-
환경탐지
앱 런타임에 탐지할 환경들을 설정할 수 있습니다. 루팅/개발자옵션/에뮬레이터/ WorkProfile ( 직장 프로필 ) 등이 포함됩니다.
-
툴 & 패키지 탐지
각종 해킹 도구들을 차단하기 위한 옵션을 활성화 할 수 있습니다.
주의: 설정과 별개로 항상 차단되는 앱도 있습니다. ( 앱 변조/루팅/메모리 공격 관련 도구들 )
-
고급 탐지
화면 복제/녹화 방지 기능 및 기타 유료 기능이 제공되는 페이지 입니다.
2.2 실링된 앱 다운로드
실링을 시작하면 화면에서 진행상태를 확인할 수 있으며, 완료될때까지 기다리면 바로 보안 적용된 앱을 다운로드하실 수 있습니다. (Fig.3)
(Fig.3)
① 실링이 완료되면 실링된 앱 다운로드 버튼을 눌러 다운로드 창으로 이동할 수 있습니다. 창을 닫았더라도 이후 실링 이력 페이지에서 최근 한달 간의 이력을 조회 및 다운로드할 수 있습니다. (Fig 4)
(Fig.4)
NOTE:
실링 과정에서 APK의 키 스토어 서명이 풀립니다. 정상적인 APK 파일의 설치 및 배포를 위해서는 다운로드 후 키 스토어 서명을 진행해 주시기를 바랍니다.
구글 플레이 등록을 위해 Zipalign 또한 진행해 주시기를 바랍니다.
3. 앱 서명 및 다운로드
실링 된 앱은 서명이 해제되어 스마트폰에 바로 설치할 수 없습니다.
앱실링연동에 불편을 최소화 할 수 있도록 웹 콘솔에 키스토어를 업로드하여 앱실링 적용 후 자동으로 서명된 APK 또는 AAB를 다운로드할 수 있는 기능을 제공하고 있습니다.
실링이 완료된 앱을 다운로드할 때 아래와 같은 팝업창이 표시되며, 사용중인 키스토어를 업로드하여 서명 및 후 다운로드할 수 있습니다.
(Fig.5)
앱실링 콘솔에 키스토어 정보를 업로드하고 싶지 않은 경우에는 APK파일을 서명하는 작업을 별도로 진행해야 합니다. 앱 서명을 직접 처리하는 경우 아래 내용을 참고하시기 바랍니다.
3.1 Zipalign 적용 하기 ( 16KB 메모리 크기 적용 )
zipalign -v -c -P 16 4 [APK_FILE] [ZIPALIGNED_OUTPUT_APK_FILE]
3.2 키 스토어 재서명
apksigner sign --ks [KEY_STORE_FILE] --ks-key-alias [ALIAS] [APK_FILE]
주의! AppSealing에서는 v1 서명이 필수적으로 요구됩니다. v2 서명만 적용된 apk는 정상실행되지 않습니다.
3.3 참조
- Zipalign과 apksigner툴은 %ANDROID_SDK_HOME%\build-tools\%ANY_SDK_VERSION% 경로에 있습니다.
- Zipalign 및 apksigner에 대해서는 아래 구글 가이드를 참고하시기 바랍니다.