콘텐츠로 이동
This documentation is also available as markdown. For a complete index of all pages, see llms.txt at /llms.txt

기본 구성

DoveRunner Mobile App Security CLI 도구는 APK/AAB 파일을 업로드하고 DoveRunner Mobile App Security 모듈이 설치된 상태로 다운로드할 수 있는 jar 파일입니다. 웹 콘솔에서 볼 수 있는 모든 구성을 명령행을 통해 사용할 수 있습니다.

CLI 도구 옵션 (앱보안 3.0.0.0 이상) 신규

Section titled “CLI 도구 옵션 (앱보안 3.0.0.0 이상) ”

앱보안 버전 3.0.0.0 이상을 대상으로 sealing.jar 파일을 사용할 때 사용 가능한 옵션 목록입니다. Native(NATIVE_AOS)와 Hybrid(HYBRID_AOS) 앱 모두에 적용됩니다.
3.0.0.0 버전에서는 Dex 보호를 위한 옵션이 주로 변경되었습니다.
3.2.0.0 버전에서는 dex_encrypt / select_dex_encrypt 옵션이 재추가되었으며 (부분암호화만 지원), use_callback_feature, disable_file_integrity_check, enable_signing_certificate_identity_check 옵션이 신규 추가되었습니다.
3.3.0.0 버전에서는 위협 항목별 위협 대응 정책 옵션(action_*)이 추가되었습니다. 위협별로 block, monitor, callback, allow 중 하나를 지정할 수 있으며, 기존 차단 옵션과 use_callback_feature를 대체합니다.

옵션설명사용 가능한 값필수 여부기본값
‑url실링 API URL — 계정 리전에 맞는 엔드포인트를 선택하세요 (위 표 참고)리전별 URL필수
‑authkey계정의 인증 키. CLI 도구 다운로드 페이지에서 이 키를 찾을 수 있습니다.별도 제공필수
‑srcapk보호해야 하는 소스 APK 또는 App Bundle 파일생성된 APK 또는 AAB의 파일 경로필수
‑sealedapk다운로드해야 하는 실링된 파일의 이름을 포함한 대상 경로실링된 APK 또는 AAB의 파일 경로필수
‑service_typeDoveRunner Mobile App Security Hybrid은 버전 관리가 다르므로 ReactNative, Ionic, Cordova와 같은 Hybrid 앱을 업로드하는 경우 여기에 HYBRID_AOS를 입력해야 합니다.NATIVE_AOS, HYBRID_AOS선택NATIVE_AOS
‑frameworkHYBRID_AOS 앱을 업로드할 때 필요한 옵션입니다.REACT_NATIVE, IONIC, CORDOVA선택
‑service_versionDoveRunner Mobile App Security 서비스 버전
- action_* 옵션을 사용하는 경우 적용되는 버전이 3.3.0.0 이상이어야 하며, 그렇지 않으면 실링 요청이 거부됩니다.
latest 또는 3.3.0.0과 같은 특정 버전선택latest
‑deploymode테스트 모드는 DoveRunner Mobile App Security 워터마크를 표시하지만 제한 없이 테스트할 수 있습니다. 릴리스 모드는 워터마크를 제거하지만 MAD가 유료 사용량으로 계산됩니다.test, release선택test
‑sealing_preset_name콘솔에서 프리셋을 설정하고 이름을 생성한 후, 해당 이름을 그대로 지정합니다. 개별 옵션을 일일이 관리하기 번거로운 경우 프리셋 하나로 모든 설정을 일괄 적용할 수 있습니다. 일부 설정(예: 위협 대응 메시지 커스터마이징, 하드웨어 키 증명, Access Signals)은 CLI에서 직접 설정할 수 없으며 프리셋을 통해서만 적용 가능합니다.프리셋 이름 문자열선택
‑app_signingDoveRunner Mobile App Security 적용 후 앱의 서명이 비활성화됩니다. 실링된 앱을 스마트폰에 설치하려면 실링된 APK 또는 AAB에 수동으로 또는 이 옵션을 사용하여 서명해야 합니다. DoveRunner Mobile App Security 콘솔에서 키스토어를 등록한 후 registered_key 옵션을 사용할 수 있습니다.
- appsealing_key: 테스트(디버그) 키로 서명합니다. APK에서만 사용 가능하며, AAB의 경우 무시되어 none과 동일하게 미서명 상태가 됩니다.
none, appsealing_key, registered_key선택none
옵션설명사용 가능한 값필수 여부기본값
‑dex_string_obfuscationclasses.dex에 포함된 문자열을 난독화합니다.
앱의 메인 패키지를 대상으로 작동합니다.
- selective: 콘솔의 App Configuration에 등록된 class/package의 문자열만 난독화합니다. 이 값을 사용하려면 먼저 콘솔에서 대상 class/package를 등록해야 합니다. 3.2.0.0 신규
- dex_string_obfuscation과 dex_call_hiding을 동시에 disable로 설정할 수 없습니다.
disable, fast, balance, maximum, selective선택balance
‑dex_call_hidingclasses.dex의 함수 호출 흐름을 난독화합니다.
앱의 메인 패키지를 대상으로 작동합니다.
disable, fast, balance, maximum선택balance
‑dex_encrypt 3.2.0.0 신규3.2.0.0에서 재추가된 DEX 암호화 옵션입니다. 부분(선택적) 암호화만 지원하며, dex_encrypt와 select_dex_encrypt는 반드시 같은 값(yes/yes 또는 no/no)으로 설정해야 합니다. dex_encrypt=yes와 select_dex_encrypt=no를 함께 설정하면 옵션이 무시되어 암호화가 적용되지 않습니다.yes, no선택no
‑select_dex_encrypt 3.2.0.0 신규부분 DEX 암호화를 활성화합니다. dex_encrypt=yes와 함께 사용해야 합니다. 이 옵션을 사용하기 전에 콘솔의 App Configuration에서 대상 class/package를 먼저 등록해야 합니다.yes, no선택no
‑so_encrypt 3.1.0.0 신규앱의 lib 경로의 SO 파일들을 도브러너 정책에 따라 자동으로 암호화 합니다.
- 암호화시 문제가 되는것으로 알려진 서드 파티 라이브러리의 SO 파일들은 암호화 하지 않습니다.
yes, no선택yes
‑select_so_encrypt 3.1.0.0 신규앱의 lib 경로에 위치한 so 파일을 선택적으로 암호화 합니다.
- selective_so 목록을 반드시 함께 입력해야 합니다.
- so_encrypt 옵션이 yes 일때만 작동합니다.
yes, no선택no
‑selective_so 3.1.0.0 신규앱의 lib 경로에 위치한 so 파일들 중 보호하고 싶은 파일들을 지정할 수 있습니다. 각 SO 파일은 쉼표(,)로 구분합니다.
- so_encrypt 및 select_so_encrypt가 yes 일때만 작동합니다.
"libAAA.so,libCC.so,...libZZZ.so"선택
‑disable_file_integrity_check 3.2.0.0 신규파일 무결성 검증을 비활성화합니다. Play Protection, SideKick 등 배포 전 Google이 파일을 수정하는 경우에 사용합니다. 프로덕션 배포 전 대체 무결성 메커니즘이 적용되어 있는지 확인하세요.true, false선택false
‑enable_signing_certificate_identity_check 3.2.0.0 신규앱 서명 검증을 활성화합니다. true로 설정하려면 먼저 콘솔의 앱 구성 페이지에서 서명 검증 관리 메뉴로 이동하여 SHA256 서명 해시 정보를 등록해야 합니다. 미등록 상태에서 활성화하면 정상 동작하지 않습니다.true, false선택false

3.3.0.0부터는 위협 항목별로 탐지 시 동작을 action_* 옵션으로 지정합니다.

동작설명
block위협이 탐지되면 앱을 차단합니다.
monitor차단하지 않고 탐지 결과만 기록합니다.
callback차단하지 않고 앱에 구현한 콜백으로 탐지 결과를 전달합니다.
allow허용합니다. 대응하지 않습니다.

action_* 옵션 값을 비워두면 아래 표의 기본값이 적용됩니다.

옵션위협 항목사용 가능한 값필수 여부기본값
‑action_rooting루팅block, monitor, callback, allow선택allow
‑action_emulator에뮬레이터block, monitor, callback, allow선택allow
‑allow_emulator특정 에뮬레이터를 예외로 허용합니다. 쉼표로 여러 옵션을 사용할 수 있습니다.BlueStacks, Nox, LDPlayer선택
‑action_developer_options개발자 옵션 활성화block, monitor, callback, allow선택allow
‑action_usb_debuggingUSB 디버깅 활성화block, monitor, callback, allow선택block
‑action_work_profile직장프로필 (예: 보안 폴더)block, monitor, callback, allow선택block
‑allow_work_profiles특정 직장프로필 앱을 예외로 허용합니다.Samsung SecureFolder선택
‑action_keylogger키로거 앱block, monitor, callback, allow선택allow
‑action_overlay다른 앱의 화면 오버레이 (Android 12 이상)block, monitor, callback, allow선택allow
‑action_macro매크로(자동 클릭) 툴block, monitor, callback, allow선택block
‑action_sniff네트워크 스니핑/패킷 공격 툴block, monitor, callback, allow선택block
‑action_malicious_tools악성 도구block, monitor, callback, allow선택block
‑allow_packages악성 도구 탐지에서 제외할 패키지명. 여러 패키지는 쉼표로 구분합니다."com.example.tool1,com.example.tool2"선택
‑action_app_integrity앱 무결성 (변조)block, monitor, callback, allow선택block

아래 옵션은 위협 대응 정책은 아니지만 함께 적용됩니다.

옵션설명사용 가능한 값필수 여부기본값
‑block_malware_detection 3.3.0.0 신규행위 기반 악성코드 탐지를 활성화합니다.yes, no선택no
‑block_screen_capture화면 미러링 또는 캡처 앱이 앱 화면을 가로채려고 할 때 검은 화면만 표시됩니다. 하지만 이것은 해킹 감지 보고서를 보내지 않으며 앱을 종료하지도 않습니다.yes, no선택no
‑wifi_security_protocolWEP, WPA와 같은 스마트폰의 현재 Wi-Fi 보안 프로토콜 정보를 수집할 수 있습니다. 이 옵션을 활성화하면 애플리케이션에 android.permission.ACCESS_WIFI_STATE가 추가됩니다collect, disable선택disable

간단한 옵션을 사용한 예제 사용법

Section titled “간단한 옵션을 사용한 예제 사용법”

필수 옵션만 사용하여 DoveRunner Mobile App Security를 적용할 때의 예제 명령행입니다. 언급되지 않은 모든 옵션은 기본값으로 자동 적용됩니다.

프리셋 사용 (권장): 콘솔에서 보호 옵션을 프리셋으로 구성한 뒤 프리셋 이름만 지정하면, 모든 보호 옵션을 콘솔에서 일괄 관리할 수 있습니다.

Terminal window
$ java -jar sealing.jar -url https://api.appsealing.com/covault/gw -authkey 123456789ABCDE -srcapk app-release.aab -sealedapk app-release-sealed.aab -sealing_preset_name 프리셋이름

프리셋 미사용: 모든 보호 옵션이 기본값으로 적용됩니다.

Terminal window
$ java -jar sealing.jar -url https://api.appsealing.com/covault/gw -authkey 123456789ABCDE -srcapk app-release.aab -sealedapk app-release-sealed.aab

모든 옵션을 활성화한 예제 사용법

Section titled “모든 옵션을 활성화한 예제 사용법”

모든 옵션을 지정하여 App Bundle에 DoveRunner Mobile App Security 3.3.0.0 이상을 적용할 때의 예제 명령행입니다. 3.0.0.0 ~ 3.2.x.x 예제는 기존 버전 옵션을 참고하세요.

Terminal window
$ java -jar sealing.jar -url https://api.appsealing.com/covault/gw -authkey 123456789ABCDE -srcapk app-release.aab -sealedapk app-release-sealed.aab -service_type NATIVE_AOS -service_version latest -deploymode release -dex_string_obfuscation balance -dex_call_hiding balance -dex_encrypt yes -select_dex_encrypt yes -so_encrypt yes -disable_file_integrity_check false -enable_signing_certificate_identity_check false -action_rooting block -action_emulator block -allow_emulator LDPlayer,BlueStacks,Nox -action_developer_options monitor -action_usb_debugging block -action_work_profile block -allow_work_profiles 'Samsung SecureFolder' -action_keylogger callback -action_overlay block -action_macro block -action_sniff block -action_malicious_tools block -allow_packages com.example.tool1 -action_app_integrity block -block_malware_detection yes -block_screen_capture yes -wifi_security_protocol collect -app_signing registered_key

옵션을 많이 사용하는 경우 긴 명령행보다 config.txt 파일로 관리하는 것이 더 편리하고 오류도 적습니다.

3.3.0.0 이상으로 실링하면 CLI 도구가 실링 설정 출력의 Threat Policies 블록에 적용된 정책을 표시합니다. 위협 대응 정책으로 대체된 기존 옵션은 출력되지 않습니다.

config.txt 파일을 사용하여 sealing.jar 실행

Section titled “config.txt 파일을 사용하여 sealing.jar 실행”

아래 옵션으로 CLI 도구 파일을 실행할 수 있으며, config.txt 파일에서 모든 옵션을 관리할 수 있습니다.

Terminal window
$ java -jar sealing.jar -config ./config.txt

CLI 도구 패키지에는 3.3.0.0 이상 기준의 아래 config.txt가 포함되어 있습니다. 이전 버전은 패키지의 examples/ 폴더에 있는 예제 파일을 사용하세요.

버전예제 파일
Native 3.3.0.0 이상examples/config-for-native-v3.3.txt
Hybrid 3.3.0.0 이상examples/config-for-hybrid-v3.3.txt
Native 3.0.0.0 ~ 3.2.x.xexamples/config-for-native-v3.txt
Hybrid 3.2.x.xexamples/config-for-hybrid-v3.txt
Native 2.xexamples/config-for-native-v2.txt
Hybrid 1.xexamples/config-for-hybrid-v1.txt
config.txt 전체 보기 (3.3.0.0 이상)
## DoveRunner AppSecurity CLI Tool - 설정 파일
# 실행 예시: java -jar sealing.jar -config ./config.txt
#
# AppSecurity 3.3.0.0 이상 기준입니다.
# 이전 버전 사용자는 examples/ 폴더의 예제 파일을 참고하세요.
# 3.0.0.0 ~ 3.2.x.x : examples/config-for-native-v3.txt, examples/config-for-hybrid-v3.txt
# 네이티브 2.x : examples/config-for-native-v2.txt
# 하이브리드 1.x : examples/config-for-hybrid-v1.txt
# Sealing API URL (리전별 URL: https://docs.doverunner.com/ko/mobile-app-security/android/cicd/basic-configuration/)
url=https://api.appsealing.com/covault/gw
# 인증키 (DoveRunner 개발자 콘솔에서 발급)
authkey=
# 원본 APK/AAB 파일 경로
srcapk=
# 실링된 APK/AAB 저장 경로
sealedapk=
# 앱 서명 옵션 { none | registered_key }
# none : 서명하지 않음. 배포 전 개발자가 직접 서명 필요.
# registered_key : 콘솔에 미리 등록된 키로 서명.
app_signing=
# 앱실링 프리셋 사용 옵션. 설정 시 이하 보안 옵션을 콘솔에서 제어 가능.
sealing_preset_name=
# 앱 서비스 타입 { NATIVE_AOS | HYBRID_AOS }
service_type=
# 하이브리드 앱 프레임워크 { REACT_NATIVE | IONIC | CORDOVA }
framework=
# 서비스 버전
service_version=
# 배포 모드 { release | test }
deploymode=
# Dex 난독화 옵션 (3.0.0.0+)
# 주의: 두 옵션을 동시에 disable로 설정하는 것은 허용되지 않습니다.
# Dex 문자열 난독화 { disable | fast | balance | maximum | selective } (기본값: balance)
dex_string_obfuscation=
# Dex 함수 호출 난독화 { disable | fast | balance | maximum } (기본값: balance)
dex_call_hiding=
# Dex 암호화 (3.2.0.0+) { no | yes }
# 주의: dex_encrypt와 select_dex_encrypt는 반드시 같은 값으로 설정해야 합니다. (yes/yes 또는 no/no)
dex_encrypt=
# Dex 선택 암호화 (3.2.0.0+) (dex_encrypt=yes 일 때만 동작) { no | yes }
select_dex_encrypt=
# SO 파일 암호화 (3.1.0.0+) { yes | no }
so_encrypt=
# SO 파일 선택 암호화 (3.1.0.0+) { yes | no }
select_so_encrypt=
# 파일 무결성 검증 비활성화 { true | false } (기본값: false (무결성 활성화))
# true 설정 시 무결성 검사를 수행하지 않습니다.
# Play Protection, SideKick 등 배포 전 Google이 파일을 수정하는 시나리오에서 사용됩니다.
# 프로덕션 배포 전 대체 무결성 메커니즘이 적용되어 있는지 확인하세요.
disable_file_integrity_check=
# 서명 인증서 신원 확인 활성화 { true | false } (기본값: false (비활성화))
# 주의: 사용 전 DoveRunner 개발자 콘솔에서 SHA-256 인증서 지문을 반드시 등록해야 합니다.
# 미등록 상태에서 활성화하면 정상 동작하지 않습니다.
enable_signing_certificate_identity_check=
# 위협 대응 정책 (3.3.0.0+)
# 위협 항목별로 탐지 시 동작(action)을 지정합니다. { block | monitor | callback | allow }
# block : 차단
# monitor : 차단하지 않고 탐지 결과만 기록
# callback : 차단 대신 앱에 구현한 콜백으로 탐지 결과 전달
# allow : 허용 (대응하지 않음)
# 값을 비워두면 각 항목의 (기본값)이 적용됩니다.
# 주의: action_* 옵션은 service_version 3.3.0.0 이상에서만 사용할 수 있습니다.
# 3.3.0.0 미만 버전에 값을 지정하면 실링 요청이 거부됩니다.
# 루팅 (기본값: allow)
action_rooting=
# 에뮬레이터 (기본값: allow)
action_emulator=
# 에뮬레이터 예외 허용 { BlueStacks, Nox, LDPlayer }
allow_emulator=
# 개발자 옵션 (기본값: allow)
action_developer_options=
# USB 디버깅 (기본값: block)
action_usb_debugging=
# Work profile (기본값: block)
action_work_profile=
# Work profile 예외 허용 { Samsung SecureFolder }
allow_work_profiles=
# 키로거 (기본값: allow)
action_keylogger=
# 화면 오버레이 (Android 12+) (기본값: allow)
action_overlay=
# 매크로 툴 (기본값: block)
action_macro=
# 네트워크 스니핑/패킷 공격 툴 (기본값: block)
action_sniff=
# 악성 도구 (기본값: block)
action_malicious_tools=
# 악성 도구 탐지 예외 허용 패키지명 (쉼표로 구분, 예: com.example.tool1,com.example.tool2)
allow_packages=
# 앱 무결성 (기본값: block)
action_app_integrity=
# [참고] 기존(3.2 이하) 옵션 호환
# 3.3.0.0 이상에서도 기존 옵션은 그대로 사용할 수 있으며, 서버에서 위 action 으로 자동 변환됩니다.
# 같은 항목에 기존 옵션과 action_* 를 함께 지정하면 action_* 가 우선합니다.
# block_environment=rooting -> action_rooting=block
# block_environment=emulator -> action_emulator=block
# block_developer_options=yes|no -> action_developer_options=block|allow
# block_usb_debugging=yes|no -> action_usb_debugging=block|allow
# block_work_profile=yes|no -> action_work_profile=block|allow
# block_keylogger=yes|no -> action_keylogger=block|allow
# hide_overlay_windows=yes|no -> action_overlay=block|allow
# allow_external_tool=macro -> action_macro=allow
# allow_external_tool=sniff -> action_sniff=allow
# 행위 기반 악성코드 탐지 (3.3.0.0+) { yes | no } (기본값: no)
block_malware_detection=
# 스크린 캡처/미러링 차단 { yes | no }
block_screen_capture=
# Wi-Fi 보안 프로토콜 수집 { collect | disable }
wifi_security_protocol=

예) srcapk 및 sealedapk 매개변수에만 실행 스크립트를 사용하고 나머지는 구성 파일에서 사용하는 경우:

Terminal window
java -jar sealing.jar -config config.txt -srcapk app-release.apk -sealedapk app-release-sealed.apk

Native 앱: 일반 Android Studio, Flutter, Unity 또는 Unreal 엔진으로 빌드된 앱.

url=https://api.appsealing.com/covault/gw
authkey=123456789ABCDE
service_type=NATIVE_AOS
service_version=latest
deploymode=release
app_signing=none
dex_string_obfuscation=balance
dex_call_hiding=balance
dex_encrypt=no
select_dex_encrypt=no
so_encrypt=yes
action_rooting=block
action_emulator=block
allow_emulator=BlueStacks, Nox, LDPlayer
action_usb_debugging=block
action_work_profile=block
allow_work_profiles=Samsung SecureFolder
action_keylogger=monitor
action_macro=allow
action_sniff=allow
action_malicious_tools=block
action_app_integrity=block

참고: Windows 플랫폼의 경우 config.txt로 경로 구성 시 이중 파일 구분자를 사용해야 합니다. 예) D:\DoveRunner Mobile App Security\sealing.jar