[Android] 취약점진단 분석 도구Ⅰ(정적 분석)🛠
해당 글에서는 각 도구에 대한 설명만을 다루고 있습니다.
설치 방법 및 실행 방법은 다른 글을 참고해주세요 : )
📝 정적 분석이란?
실제 실행 없이 코드나 리소스를 가지고 분석을 진행하는 방법을 의미한다.
1. Java Key Tool
- 인증서를 관리하는 툴 (인증서를 만드는 툴과는 다른 개념)
- Android Studio Keystore 생성할 때 주로 사용하며, Keytool을 이용해 KeyHash, SHA-1 얻는 것이 가능하다.
- Downloads:
2. APK Tools
- 대표적인 안드로이드 애플리케이션(Android Application) 대상의 리버스 엔지니어링 도구이다.
- APK 로 압축되어 있는 파일을 AndroidManifest.xml, resources.arsc, classes.dex 등의 디버깅 파일 형태로 변환시켜주고, 해당 파일의 코드를 수정하여 다시 재빌드(Rebuild)할 수도 있는 것이 특징이다.
- 기본적으로 java가 설치되어야 동작 가능하다. (ver1.8 이상)
- Downloads:
https://ibotpeaches.github.io/Apktool/
Apktool - A tool for reverse engineering 3rd party, closed, binary Android apps.
A tool for reverse engineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications. It also makes working with an app easier because of the project like file structure and
ibotpeaches.github.io
3. dex2jar
- dex 파일을 jar 파일로 변환할 때 사용하는 도구이다.
- jar파일은 앱을 빌드하기 위해 만들어진 .class 파일들이 압축되어 있는 형식이다.
- Downloads:
https://github.com/pxb1988/dex2jar
GitHub - pxb1988/dex2jar: Tools to work with android .dex and java .class files
Tools to work with android .dex and java .class files - GitHub - pxb1988/dex2jar: Tools to work with android .dex and java .class files
github.com
4. jd-gui
- byte code를 디컴파일 및 분석하기 위한 도구이다.
- dex2jar를 이용해 디컴파일한 .jar 파일의 소스코드를 볼 수 있다.
- Downloads:
http://java-decompiler.github.io/
Java Decompiler
The “Java Decompiler project” aims to develop tools in order to decompile and analyze Java 5 “byte code” and the later versions. JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reco
java-decompiler.github.io
5. ADB(Android Debug Bridge)
- 안드로이드 단말기와 PC 사이의 통신을 위해 사용되는 도구이다.
- Downloads:
https://developer.android.com/studio/releases/platform-tools
SDK 플랫폼 도구 출시 노트 | Android 개발자 | Android Developers
Android SDK 플랫폼 도구는 Android SDK의 구성요소입니다.
developer.android.com