티스토리 뷰
중요 기능에 대해서는 사실 위 이미지가 다 설명하고 있기 때문에 다운로드 주소만 소개드리고, 아래 내용에서는 제가 사용하면서 겪은 느낌과 발생한 오류에 대한 처리 방법에 대해서 설명하고 글을 마치도록 하겠습니다.
다운로드 주소 : https://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/Apk-Easy-Tool.shtml
APK Easy Tool 내부에 apktool, signer, zipaligner 등등의 도구가 모두 포함되어 있기 때문에 별도의 다운로드 및 설치나 keystore 를 따로 만들 필요 없이 모두 클릭 몇 번으로 편하게 APK 파일을 디컴파일, 컴파일, 추출, 압축, 인증서 서명, 리패키징 등의 기능을 수행할 수 있습니다.
무엇보다 드래그 앤 드롭 기능이 있기 때문에 APK 파일 또는 디컴파일한 APK 파일의 디렉토리를 마우스로 가져다가 놓을 수 있습니다.
또 각종 apktool 와 apk 의 버전에 따른 오류도 세부적으로 설정해서 처리할 수 있는데요.
저 같은 경우에는 아래와 같은 오류가 발생한 적이 있습니다. (invalid resource directory name)
I: Using Apktool 2.5.0
I: Smaling smali folder into classes.dex...
I: Smaling smali_classes2 folder into classes2.dex...
I: Smaling smali_classes3 folder into classes3.dex...
I: Building resources...
W: invalid resource directory name: C:\Users\Domdomi\app-release\res navigation
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1):
해당 오류는 디컴파일한 APK 파일의 resource 부분을 변경한 뒤 다시 컴파일하여 리패키징하는 과정 중에서 apktool 도구에서 난 오류 로그입니다. 해당 오류가 나게 되면 해결방법으로는 aapt1 이 호환되지 않아 aapt2 로 변경해서 컴파일해주게 되면 오류가 해결되는데요.
apktool을 직접 사용할 때는 아래 내용을 참고하시면 되는데
https://github.com/iBotPeaches/Apktool/issues/1978
APK Easy Tool 을 사용하시는 거면 단순히 [Options] - [Apktool] 탭에 들어가셔서 "Use the aapt2 binary instead of aapt" 항목을 체크 해주기만 하면 됩니다.
일반적으로 APK 를 디컴파일 그리고 리패키징할 때는 apktool 을 이용합니다. 또 인증서 서명할 때는 keytool과 jarsigner 응 사용해서 합니다. 각 프로그램 별로 명령어를 입력해서 순서대로 작업해야하는데 불편하다고 느껴지게 되죠. 그런데 이런 APK Easy Tool 이라는 프로그램을 사용하게 되면 정말 너무 편하게 작업할 수 있는 것 같습니다.
아래 링크는 제가 예전에 APK 파일 리패키징하는 방법에 대해서 작성해놓은 글인데, 딱 봐도 정말 복잡합니다. 지금이라도 이 도구를 알게 되어서 정말 다행이라고 생각합니다. 😀
- 끝 -
'도구 > Tools' 카테고리의 다른 글
[AWS] PuTTY를 사용하여 Windows에서 Linux 인스턴스에 SSH연결하는 방법 (0) | 2022.04.06 |
---|---|
[apk-mitm] APK 파일 SSL/TLS pinning 우회 및 기능 없애는 방법 (2) | 2022.03.18 |
[CSP Evaluator] CSP 취약점 분석 및 해석 도구 (0) | 2021.11.04 |
[유용한도구] 인코딩/디코딩 암호화/복호화 해주는 만능도구 - CyberChef (0) | 2021.10.12 |
유니코드(Unicode), URL, Base64 - 인코더(Encoder)/디코더(Decoder) (0) | 2021.04.21 |