2022. 9. 13. 12:29ㆍAndroid
주제: 리얼 앱 크랙 제작
기간: 22.07.26 ~ 22.09.08
목차
00) adb란?
01) apk 추출
02) 개요
03) 분석 (jadx-gui)
04) 변조 (+추가 분석)
00) adb란?
안드로이드 장치와 통신하여 디버깅 등의 작업을 도와주는 command-line tool 이다.
안드로이드 SDK에도 포함되어있으며 애플리케이션 설치, 디바이스 접속 및 관리, 파일 업/다운로드, 시스템 log 출력, shell 접속 등이 가능하다.
- 이전 유니티에서의 과정을 통해 NVDIA 사이트에서 SDK (NVPACK)를 설치하였으므로 설치과정은 생략
- 또한 NOX로 진행하기때문에 따로 adb 설치 없이 nox_adb를 사용해도 무관
01) apk 추출
apk 추출 방법 설명에 앞서 apkpure와 같은 사이트를 이용하면 apk를 쉽게 획득할 수 있다.
그러나 과정을 경험해보기 위해 직접 추출하기로 하였다.
사용중인 핸드폰에서 apk를 직접 추출하기 위해 노트북과 핸드폰을 연결하였다.
adb devices 명령어로 연결을 확인하고 adb shell 명령어를 입력하여 핸드폰의 쉘을 획득한다.
위 사진에서 마지막에 ls를 입력한 결과, Permission denied 에러가 발생한다.
루팅되지 않은 핸드폰은 권한 문제로 apk경로와 이름을 확인할 수 없다.
따라서 루팅을 보다 쉽게 하기 위하여 Nox를 사용하였다.
Nox의 루팅과정
- Nox 자체의 시스템 설정 - 일반 - ROOT켜기
- 환경설정 - 시스템 - 태블릿정보 - 빌드번호 연타
- 개발자 옵션 활성화
Apk 추출 과정
1-1. adb가 설치되어있지 않을 경우
Nox설치 경로(Program Files/Nox/bin에서) cmd 열고 adb 대신 nox_adb 명령어 사용
1-2. adb가 설치되어있을 경우
adb 명령어 사용
2. adb devices
3. adb connect 127.0.0.1:62001
4. adb shell (루트 쉘 획득)
5. base.apk가 저장된 경로 알아내기 (Nox내의 어플들은 data/app/에 저장되어있음)
6. cmd창을 하나 더 열고 adb pull (쉘에서 알아낸 base.apk 경로) (apk를 저장할 경로) 입력 (추출 명령어)
+ 참고) 파일 삽입 명령어: adb push (저장할 파일의 데스크탑 경로) (파일을 저장할 device 경로)
비공개글을 공개글로 전환하면서 게임명을 모자이크 처리하였다.
이후 프로젝트 과정(분석, 변조 과정)은 악용 방지를 위해 비공개글로 게시한다.
'Android' 카테고리의 다른 글
REAL Android Crack #3 분석, 변조 (여러개의 apk로 이루어진 어플 설치) (0) | 2022.09.13 |
---|---|
REAL Android Crack #2 개요 (0) | 2022.09.13 |
UNITY Crack #4 APK Re-Build, Signing (0) | 2022.08.16 |
UNITY Crack #3 APK Reversing (0) | 2022.08.15 |
UNITY Crack #2 APK Build (0) | 2022.08.03 |