안녕하세요! 이번시간은 무료로 사용할 수 있는 디스어셈블러 툴인 GHIDRA 설치방법에 대한 포스팅 입니다. 모바일 DIVA 문제를 살펴보다가 .so 확장자 파일을 열어봐야 했는데 , .so 파일은 바이너리 파일로써 디스어셈블러 툴로 코드를 어셈블리어로 변환하여 코드흐름을 살펴보게 되었습니다.
※리버싱 툴이랑 뭐가 다른가?
GHIDRA 또한 리버싱 에서도 쓰이는 툴이긴 한데 OllyDbg나 Frida 같은 툴과 차이점은 GHIDRA같은경우는 정적분석을 하기 위해 만들어 졌다는 것입니다. 즉 프로그램이 실행되는 동안이 아닌 그냥 코드를 살펴보며 흐름을 확인하는 용도라는 것이죠!
1. JAVA 설치
GHIDRA를 사용하시려면 우선 자바가 설치되어있어야 합니다. 자바는 JDK 최신버전으로 설치하시면 됩니다!
우선 아래 링크로 들어가서 설치파일(.exe) 를 설치한 후 실행하여 설치를 진행해주세요!
※ 따로 경로 설정은 필요없으니 그냥 Next 만 눌러서 설치를 진행해주셔도 괜찮습니다. 어차피 GHIDRA에서 알아서 컴퓨터에 JAVA 가 깔려있는지 확인하고 실행이 되기 때문에 경로는 상관없습니다.
https://www.oracle.com/java/technologies/downloads/#jdk23-windows
↓ 아래와 같은 경로로 설치하시면 됩니다! Window 분들은 꼭 windows 로 설치해주세요!
2. GHIDRA 설치
1. JAVA 설치가 완료되었으면 GHIDRA를 설치하실때가 되었습니다. 아래 링크를 클릭하셔서 GHIDRA 압축파일을 다운로드 받으신 후 압축파일을 풀어주세요!
https://github.com/NationalSecurityAgency/ghidra/releases
↓ 아래 표시된 파일을 다운로드 받으시면 됩니다!
2. 이후 압축 푸신 폴더를 타고 들어가면 다음과 같은 파일들이 있을텐데 ghidraRun.bat 이라는 파일을 실행시켜 주세요!
3. 이후 실행하면 뜨는 동의란에 I agree 하고 들어오시게 되면 다음과 같은 화면이 나오게 됩니다.
여기서 file -> new project 를 클릭해주세요.
4. 그러면 새로운 프로젝트 설정창이 뜨게되는데 GHIDRA에선 진행하는 프로젝트를 다수와 공유할 수 있습니다. 하지만 저희는 혼자하는 중이니 Non-Shared 를 선택하고 진행해줍시다.
5.이후 프로젝트를 저장할 폴더의 경로를 지정해주시고 Project name엔 당연히 프로젝트 이름을 넣어주신후 Finish 를 누르게 되면 새 프로젝트가 생성됩니다!
3. GHIDRA 로 바이너리 파일 여는법
1. 우선 저는 이미 libdivajni.so 라는 파일을 가져온 상태입니다. 여러분들은 그냥 여러분들이 설정한 이름의 프로젝트 폴더만 떠있는 상태이실겁니다.
2. File > Import File 을 누른후 분석하실 바이너리 파일을 찾아서 선택하시면 됩니다!
3.
이후 화면에 추가된 바이너리 파일을 더블클릭 하시게 되면 다음과 같이 어셈블리어로 구성된 파일이 열리게 됩니다.
※혹시나 파일 크기가 크시면 로딩이 걸릴수 있으므로 우측 하단에 로딩이 완료될때까지 기다려주세요!
긴 글 읽어주셔서 감사합니다!
'모바일 앱해킹(Android) > Android DIVA' 카테고리의 다른 글
[Android DIVA] Input Validation Issues 취약점 (0) | 2024.11.03 |
---|---|
[Android DIVA] Insecure Data Storage 취약점 (0) | 2024.11.02 |
[Android DIVA] Hardcoding Issues 취약점 (0) | 2024.10.30 |
[Android DIVA] '취약한 로깅' 취약점 (0) | 2024.10.28 |
[Android DIVA] Android DIVA app 설치하기 (feat.jadx) (0) | 2024.10.26 |