안녕하세요.

 

이번 실습은 탈옥탐지에 대해 작성해보려 합니다~

 

1. DVIA 의 Jailbreak Detection 항목으로 접근해 주시면 됩니다.

    이후 Jailbreak Test1 선택 시 아래와 같은 화면이 보입니다.

 

 

 

2. 분석 도구인 기드라 다운로드(Releases · NationalSecurityAgency/ghidra (github.com)

 

Releases · NationalSecurityAgency/ghidra

Ghidra is a software reverse engineering (SRE) framework - NationalSecurityAgency/ghidra

github.com

 

 

압축 파일 해제 후 .bat 파일 클릭 통해 접근

 

3. JDK 11버전 이상 설치가 필요 https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

 

4. 설치한 jdk 파일 경로 설정 수행

 

경로 입력 해주면 됩니다. (저는 이미 되어 있어서 임의의 화면을 가져왔습니다.)

 

5. 이후 접근이 되면 File > New project를 통해 프로젝트 생성

 

 

6. 팀원과 공유하지 않을 것이므로 Non-Shared Project 선택 

 

7. 이후 프로젝트를 저장할 위치와 기드라에서 사용할 파일명 선택 후 Finish

 

8. 이후 3 Utools를 통해 DVIA 바이너리 파일 Export 해보겠습니다.

    DVIA App 폴더로 접근합니다.

 

 

9. 이후 .app 폴더로 이동하여 DVIA-v2 바이너리 파일을 마우스 오른쪽 클릭하여 Export 클릭

 

10. Export 한 파일 확인 후 Ghidra로 옮기기(바이너리파일 기드라에 드로그 앤 드롭)

 

11. 이후 OK 버튼 클릭

 

12. 추가적으로 OK 버튼 클릭

 

13. 아래와 같이 파일 생성된 것 확인 후 해당 파일 더블클릭

 

14. 이후 기본세팅으로 분석 클릭

 

15. search 탭에서 for string 검색을 통해 Dvia에서 출력해 주는 메시지를 검색해 봅시다

 

16. 아래와 같이 string 검색해 줍니다.

 

17. 해당 문자열에 접근하여 XREF 더블클릭

 

18. 해당 바이너리 내용을 확인 후 Windw 탭 > Function Graph 기능에 접근합니다.

 

19. 그래프를 통해 해당 분기점을 확인해 보도록 하겠습니다.

 

 

해당 분기점을 통해 조건에 따라 Device is Jailbroken, Device is Not Jailbroken 값으로 나누어지는 것 같습니다.

 

이후부터는 프리다설치 및 프리다를 사용하여 Dvia에서 Device is Not Jail broken 값으로 분기하도록 해보겠습니다

 

오늘은 이만 끄읏

복사했습니다!