[안드로이드] UberSigner로 apk 서명하기

이전 게시글([안드로이드 모의해킹] apk파일 코드패치와 무결성 검사)의 추가자료입니다.

개요

UberSigner는 안드로이드 앱(apk)의 서명을 자동화해주는 도구이다. 그 과정을 설명한다.

과정

1. Java 설치 확인

UberSigner는 Java 기반으로 동작한다. 터미널에서 아래 명령어를 입력해 Java 버전을 확인할 수 있다.

java -version

JAVA가 없다면 Oracle 사이트에서 설치할 수 있다.

2. UberSigner 다운로드

https://github.com/patrickfav/uber-apk-signer/releases/tag/v1.3.0

 

Release v1.3.0 · patrickfav/uber-apk-signer

update internal apksigner implementation to 33.0.2 and zipalign binaries improve support for v3.1 and v4 signature schema

github.com

다운받고 압축을 풀면 UberSigner.jar 파일을 확인할 수 있다.

3. 키스토어 생성

서명을 위한 키 파일을 생성해야 한다. 키스토어 파일은 앱을 서명하는데 사용되는 개인키를 안전하게 저장하는 파일이다. 다음의 명령어를 실행한다.

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

my-release-key.keystore는 생성될 키스토어 파일의 이름이다. alias_name은 개인키의 별명으로, 나중에 서명할 때 사용된다. 이 외에도 생성할 키스토어 파일의 비밀번호, 이름, 국가 등의 정보를 입력해야 한다.

4. apk 서명

java -jar UberSigner.jar -apk app.apk -ks my-release-key.keystore -alias alias_name -storepass password -keypass password -out app_signed.apk

app.apk는 서명할 apk 파일 이름이다. my-release-key.keystore과 alias_name은 위에서 생성한 키스토어 파일과 개인키의 별명이다. password는 키스토어 파일의 비밀번호와 개인키의 비밀번호를 입력한다. app_signed.apk은 서명이 완료된 결과 파일이다.

명령어 실행 후 작업 경로에 서명이 완료된 apk파일이 위치하는 것을 확인할 수 있다.

 

 

반응형