1편에서 classes.dex파일까지 추출한 상황
2021.07.30 - [운동하는 개발자/Android] - 안드로이드 앱 디컴파일 / 분석 / 뜯어보기 -1 (APK Extractor) / apk decompile
2. Jar 생성
앞서 추출한 clsses.dex파일을 jar파일로 변경해야 하는 차례이다
이때는 dex2jar이란 프로그램을 사용했다
압축파일로 되어있으며 압축을 전체 풀어보면 아래와 같다
이때 우리가 사용할 것은 d2j-dex2 jar.bat라는 파일이다
우선 앞서 추출한 classes.dex라는 파일을 이 경로에 넣어주고 커맨드 창에서 해당 경로로 이동 후 다음과 같이 실행한다
d2j-dex2jar.bat classes.dex
성공 시 두 번째 줄과 같이 변환이 성공된 것이 나오고 에러시 에러 내용이 표시된다
3. 앱 분석
이제 마지막단계이다 이 jar파일을 보기 위해서 jd-gui라는 프로그램을 사용한다
실행한 jd-gui에서 File -> Open File을 선택해서 아까 생성한 jar파일을 열어주면
위와 같이 패키지 구조가 보이게 된다
이후 어떻게 분석해야 하는지는 이미 알고 있을 테니 매우 간단하게 설명하자면 기본적으로 dependence 된 패키지들이 보일 테고 com내부에서 메인 액티비티를 찾아서 거기서부터 이벤트를 추적해 나가야 한다
디폴트가 MainActivity.class로 이름 지어지지만 변경되는 경우도 있다
현재 예시에서 보여지는 삼성 계산기의 경우 메인 액티비티의 명은 Calculator.class였다
뭐 onCreate를 타고 onResume을 타고 등등 이미 다 알고 있을 테니 더 이상 설명은 생략하고 포스팅을 끝낸다
'운동하는 개발자 > Android' 카테고리의 다른 글
android studio AVD Waiting For Debugger / Run 무한대기 (0) | 2021.09.07 |
---|---|
android createnewfile Operation not permitted 해결 (0) | 2021.08.22 |
안드로이드 앱 디컴파일 / 분석 / 뜯어보기 -1 (APK Extractor) / apk decompile (0) | 2021.07.30 |
Firebase 안드로이드 라이브러리 프로젝트에 사용법 / how to use firebase for android library project (0) | 2021.03.04 |
Android Studio Crashlytics 사용법 (Firebase) (0) | 2021.03.03 |