Skip to content

Instantly share code, notes, and snippets.

@ryuheechul
Last active August 29, 2015 14:22
Show Gist options
  • Save ryuheechul/d08ef5c057338472c9f7 to your computer and use it in GitHub Desktop.
Save ryuheechul/d08ef5c057338472c9f7 to your computer and use it in GitHub Desktop.

Appsecure CLI Manual - 한글

설치방법

appsecu.re 담당자(담당자 이메일)에게 바이너리 파일 요청

기본사용법

$ appsecure [global options] command [command options] [arguments...]

도움말

$ appsecure [sub command...] --help|-h

ex)

$ appsecure --help
$ appsecure protect -h
$ appsecure protect preset -h

Verbose Mode

모든 명령어에 -v 또는 --verbose 를 붙이면 더 자세한 로그를 볼 수 있음.

APK 프로텍션

APK 난독화(메모리 해킹 방지, SO, Unity, Dex) 및 코드사이닝(jarsigner) 및 집얼라이닝(zipalign)을 명령어 한줄로 처리해주는 기능.

사용법

$ appsecure protect [command options] [arguments...]

1. 플래그 방식 - 단일 APK 및 즉석 사용에 적합

사용법

$ appsecure protect [arguments...]

ex)

$ appsecure protect --email [email protected] --pasword yourpassword --src-apk-path source.apk --skip-unity

플래그 설명

  • --email [email]

appsecu.re 계정

  • --password [password]

appsecu.re 계정의 패스워드

  • --src-apk-path [path]

소스 APK 패스

  • --dest-apk-path [path]

결과 APK가 저장될 패스

  • --keystore-path [path]

키스토어 패스 (코드 사이닝을 하지 않는다면 스킵가능.)

  • --keystore-password [password]

키스토어 패스워드

  • --keystore-alias [alias]

키스토어 alias

  • --keystore-keypass [keypass]

키스토어 키 패스워드

  • --zipalign-path [path]

zipalign 명령어가 위치하는 패스

  • 이미 패스가 설정되어 있으면 스킵
  • 집얼라이닝을 하지 않는다면 스킵가능.
  • --jarsigner-path [path]

jarsigner 명령어가 위치하는 패스

  • 이미 패스가 설정되어 있으면 스킵
  • 코드 사이닝을 하지 않는다면 스킵가능.
  • --skip-zipalign

집얼라이닝 스킵

  • --skip-jarsign

코드사이닝 스킵

  • --skip-memory

메모리 해킹 방지 스킵

  • --skip-unity

유니티 난독화 스킵

  • --skip-dex

자바 코드 난독화 스킵

  • --skip-native

네이티브 코드 난독화 스킵

2. 프리셋 방식 - 멀티 APK 및 계속 사용에 적합

사용법

$ appsecure protect preset --preset-path [preset json file path]

ex)

$ appsecure protect preset --preset-path preset.json
  • 프리셋 샘플형식

$ appsecure protect preset sample

위와 같이 명령어를 치면 샘플 JSON 형식이 화면에 출력 됨.

  • 프리셋 JSON 구성요소

  • auth

appsecu.re 웹사이트에서 사용하는 이메일과 패스워드를 입력하는 부분

  • path

zipalign 과 jarsigner 의 패스를 매뉴얼로 설정하는 부분

  • keystore

코드사이닝 기능을 사용하기 위해서 키스토어 정보를 입력하는 부분.

  • "[alias]": {...[keystore info map]...} 의 형식이다.
  • 다른 이름의 alias 를 통해서 여러 세트의 정보를 입력해 둘 수 있음. 샘플형식을 참고.
  • skip

APK 파일에 어떤 종류의 옵션을 스킵할지 기술하는 부분.

  • "[alias]": {...[skip option map]...} 의 형식이다.
  • 다른 이름의 alias 를 통해서 여러 세트의 정보를 입력해 둘 수 있음. 샘플형식을 참고.
  • defaults

APK별로 특별한 keystore나 skip 옵션을 지정하지 않을 경우에 디폴트로 참조할 keystore 와 skip 옵션을 지정해 두는 부분.

  • apks

appsecu.re 의 프로텍션 기능을 적용할 APK 파일들의 정보를 기술하는 부분. 소스 APK 파일의 패스는 필수로 제공해야 하며 결과물이 저장될 경로와 커스텀 keystore, skip 은 필요에 따라 옵셔널하게 입력하면 된다. 소스 apk 만 기술할 경우 키밸류 형식이 아닌 스트링 형식으로만 기술하여도 된다. 샘플 형식 참조

  • 프리셋 제너레이션

$ appsecure protect preset generate

프리셋 파일을 손쉽게 작성하기 위한 기능. 대화형식으로 질문에 답을 하면 프리셋 파일이 생성된다.

  • 프리셋 드라이 테스트 - 프리셋 파일 검사

$ appsecure protect preset [preset.json] --dry

프리셋 파일을 통해서 프로텍션 기능을 실행하지 않고 파일의 유횽성만을 먼저 검사해보기 위한 기능.

Appsecure CLI 업데이트

appescure 는 서버로부터 하루에 2번씩 업데이트를 확인하고서 가능여부를 알려줍니다.

업데이트 체크

$ appsecure update check

업데이트

$ appsecure update

문의사항

문의사항은 성함, 회사명, CLI버전, appsecu.re 계정, 증상 및 에러 문구(텍스트 카피 또는 스크린샷) 등을 포함하여 (이메일)로 전달해 주시면 확인 후 답변해 드리겠습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment