Android 실행파일 분석 (Decompile)

스마트폰 2010. 3. 24. 15:50 Posted by TEAMCR@K

Android 실행파일 분석 (Decompile)
By Dear.TOM(bdr@a3security.com)
By k3rz(kerz@a3security.com)
By kyh1026(kyh1026@a3security.com)
편집 : 니키(ngnicky@a3security.com)



1. 개요
Android 의 어플리케이션은 .dex, .xml 등의 파일들을 .apk로 압축한 형태입니다. 이를 디컴파일을 통해 소스유출, 소스변조 및 재배포 등의 가능성을 확인하였습니다.

2. 상세내역
* 본 연구 문서는 신규 취약점 또는 보안 기술 우회 기법에 관한 문서로써 악용될 우려가 있는 상세 공격 코드 및 내용을 제한 합니다.

Android 어플리케이션의 디컴파일 과정이며, .java 소스코드를 추출 할 수 있었습니다.

다음은 Android의 어플리케이션의 구조도 입니다.



.dex 파일은 안드로이드의 가상머신인 dalvik 에 맞게 .class 파일을 바이트코드로 바꾼파일입니다. 이를 jvm 바이트 코드로 바꿔 .class 파일을 얻어낼 수 있으면 안드로이드 어플리케이션의 java 코드를 얻어낼 수 있었습니다.

다음은 apk 파일을 압축해제 한 화면입니다.



Classes.dex 파일이 있으며 이 파일이 실제 어플리케이션의 내용이 담겨있는 파일입니다.

* 본 연구 문서는 신규 취약점 또는 보안 기술 우회 기법에 관한 문서로써 악용될 우려가 있는 상세 공격 코드 및 내용을 제한 합니다.

다음은 .dex파일로 부터 .java 파일로 복구가 잘 되었는지 확인을 하는 과정입니다.



※ 현재 ㈜에이쓰리시큐리티에서 테스트 및 분석 중에 있으며, 이 문서는 계속 업데이트될 것입니다. 본 문서는 보안취약점으로 인한 피해를 최소화하는 데 도움이 되고자 작성되었으나, 본 문서에 포함된 대응방안의 유효성이나 기타 예상치 못한 시스템의 오작동 발생에 대하여서는 ㈜에이쓰리시큐리티에서는 일체의 책임을 지지 아니합니다.