안드로이드 애플리케이션 분석 자동화 도구

2016. 10. 4. 17:17·IT기술 관련/모바일
반응형

출처: http://teamcrak.tistory.com/392

 

안드로이드 애플리케이션 점검 시 디컴파일이나 리패키징 등의 작업을 좀 더 간편하게 하기 위해 도구를 제작하였습니다.

점검 시 유용하게 사용하시길 바라며 아래와 같이 공유합니다.

 

파일 정보 (분할 압축 해제한 파일)

버전: 1.2

파일크기: 37.6MB

MD5: 0695ef2faef52c47b9e0cdcefeb99d17

 

 Android_Auto_Analysis_Tool_TEAMCR@K_v1.2.zip.001

 Android_Auto_Analysis_Tool_TEAMCR@K_v1.2.zip.002

 Android_Auto_Analysis_Tool_TEAMCR@K_v1.2.zip.003

 Android_Auto_Analysis_Tool_TEAMCR@K_v1.2.zip.004

 

 

기능

1. Android App Decompile

   - apk 디컴파일, log 출력 및 초기화

2. Android App repackage

   - 앱 리패키징, 임의 서명, adb push로 단말기 내 apk 파일 생성, log 출력 및 초기화

3. AndroidMenifest.xml 파일 분석 자동화

   - 단말기 내 설치된 apk/package 목록 확인, apk 파일 추출, 디컴파일, menifest 파일 파싱, app이 사용하는 권한 확인

4. 화면 캡처

   - 단말기 화면 캡처 및 저장, log 출력 및 초기화

 

사용법 소개

 

툴의 main UI 입니다.

 

<그림 1> main UI 확인

 

 

툴 최초 실행 시 AppRepack 폴더 내에 기능에 필요한 도구들을 생성합니다. (C:\AppRepack)

  

<그림 2> 기능에 필요한 도구 생성

 

 

apktool 실행 시 필요한 '1.apk' 파일의 버전을 맞추기 위해 '1.apk' 파일을 생성합니다. (C:\Users\Account\apktool\framework\1.apk)

※ 기존에 사용하던 apktool을 사용하고자 하시는 분은 해당 폴더 내에 생성된 '1.apk' 파일을 삭제 후에 사용하시면 됩니다. 

 

<그림 3> '1.apk' 파일 생성 

 

 

1. 디컴파일

 

 

'decompile' 탭에서 'decode' 옵션 체크 후 'File Open' 버튼을 눌러 디컴파일 할 애플리케이션의 apk 파일을 선택합니다.

 

<그림 4> apk 파일 선택 

 

 

apk 파일 선택 후 'start' 버튼 클릭 시 디컴파일이 진행됩니다.

 

<그림 5> 디컴파일 진행

 

 

디컴파일 시 log 창에 결과가 나타나며, 성공 시 Success 메시지가 출력됩니다. (실패 시 실패한 log도 출력)

 

<그림 6> 디컴파일 시 log 확인 

 

 

해당 툴이 위치한 폴더와 동일한 폴더에 디컴파일된 apk 파일의 파일명으로 폴더가 생성됩니다.

 

<그림 7> 디컴파일된 apk 파일의 파일명으로 폴더 생성

 

 

해당 폴더 내에서 디컴파일된 파일들을 확인할 수 있습니다.

 

<그림 8> 디컴파일된 파일 확인

 

 

2. 리패키징

 

 

'decompile' 탭에서 'build' 옵션 체크 후 'Folder Open' 버튼을 눌러 리패키징 할 애플리케이션 폴더를 선택합니다.

 

<그림 9> 리패키징할 폴더 선택

 

 

폴더 선택 후 start 버튼을 클릭합니다. (안드로이드 단말기가 연결되어 있지 않을 경우 adb push는 수행되지 않음)

 

<그림 10> 폴더 선택 후 리패키징 수행

 

 

리패키징 성공 시 log 창에 Success 메시지가 출력됩니다. (실패 시 실패 log도 출력)

 

<그림 11> 리패키징 시도 시 log 확인

 

 

연결된 안드로이드 단말기 내에 apk 파일이 생성된 것을 확인할 수 있습니다.

 

  

<그림 12> 안드로이드 단말기 내 apk 파일 생성 확인

 

 

3. AndroidMenifest.xml 분석 자동화

※ AndroidMenifest.xml - 응용 프로그램의 구성과 관련된 모든 정보를 담고 있는 파일

 

 

'menifest' 탭에서 UI를 확인합니다.

 

<그림 13> 'AndroidMenifest.xml' 분석 UI 확인

 

 

'Get App List' 버튼 클릭 시 단말기 내에 설치된 apk와 package 목록이 출력됩니다. (단말기 연결 필수)

 

<그림 14> 단말기 내 설치된 apk와 package 목록 확인

 

 

출력된 리스트 중 원하는 앱 선택 후 'Get App' 버튼을 클릭하여 로컬에 apk 파일을 받을 수 있습니다.

 

<그림 15> apk 파일 추출 시도

 

 

해당 툴이 위치하고 있는 폴더 내에 apk 파일이 생성된 것을 확인할 수 있습니다.

 

<그림 16> 추출한 apk 파일 확인

 

 

'Open App' 버튼을 클릭 후 apk 파일을 선택합니다.

 

<그림 17> apk 파일 선택

 

 

apk 파일이 디컴파일 됩니다.

 

<그림 18> apk 파일 디컴파일

 

 

'activity' 버튼 클릭 시 manifest 파일을 파싱하여 리스트로 출력합니다.

 

<그림 19> manifest 파일 파싱 및 리스트 출력

 

 

'permission' 버튼 클릭 시 해당 app이 사용하는 권한을 출력하며 영어와 한글로 된 설명을 출력합니다.

 

<그림 20> app 사용 권한 및 설명 출력

 

 

4. 화면 캡처

 

 

'capture' 탭에서 해당 기능의 UI를 확인할 수 있습니다.

 

<그림 21> 화면 캡처 기능 UI 확인

 

 

'Capture' 버튼 클릭 시 현재 단말기의 화면이 출력됩니다.

 

<그림 22> 현재 단말기 화면 출력

 

 

'Save' 버튼을 눌러 캡쳐된 사진을 저장할 수 있습니다.

 

<그림 23> 캡처 파일 저장

 

 

생성된 캡처 파일을 확인할 수 있습니다.

 

<그림 24> 생성된 캡처 파일 확인

 

 

이 툴은 모바일 앱 점검 시 하게 되는 작업들을 자동화하여 좀 더 간편하게 점검하기 위해 제작되었으며, 오픈소스를 이용하였습니다.

 

저희는 금감원, 금융위 체크리스트 기반 점검이나 모바일 모의해킹 프로젝트 수행 시 앱 분석 및 변조, 앱이 사용하고 있는 권한 확인 등의 점검에 이 툴을 활용하고 있습니다. 

저희처럼 앱 점검 또는 모바일 모의해킹을 수행해야 하는 분이나 이 쪽으로 공부를 하고 계신 분들은 이 툴을 활용해 보시면 좋을 것 같습니다.

추후 지속적으로 기능을 추가하고 수정하여 업데이트하도록 하겠습니다.

감사합니다.

반응형
저작자표시

'IT기술 관련 > 모바일' 카테고리의 다른 글

안드로이드 애플리케이션 분석도구  (0) 2016.10.31
온라인을 이용한 안드로이드 APK 파일 분석(Sandroid)  (0) 2016.10.04
스마트폰 전자금융앱 보안위협별 위․변조 방지 보안대책  (0) 2016.08.03
스마트폰 금융안전대책 이행실태 체크리스트  (0) 2016.08.03
안드로이드 오픈 백신  (0) 2016.05.29
'IT기술 관련/모바일' 카테고리의 다른 글
  • 안드로이드 애플리케이션 분석도구
  • 온라인을 이용한 안드로이드 APK 파일 분석(Sandroid)
  • 스마트폰 전자금융앱 보안위협별 위․변조 방지 보안대책
  • 스마트폰 금융안전대책 이행실태 체크리스트
호레
호레
창업 / IT / 육아 / 일상 / 여행
    반응형
  • 호레
    Unique Life
    호레
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 법률
        • 기본
        • 개인정보보호법
        • 정보통신망법
        • 전자금융거래법
        • 전자금융감독규정
        • 신용정보법
        • 온라인투자연계금융업법
      • 창업
        • 외식업 관련
        • 임대업 관련
        • 유통업 관련
        • 세무 관련
        • 마케팅 관련
        • 기타 지식
        • 트렌드
        • Youtube
      • IT기술 관련
        • 모바일
        • 윈도우
        • 리눅스
        • MAC OS
        • 네트워크
        • 빅데이터 관련
        • A.I 인공지능
        • 파이썬_루비 등 언어
        • 쿠버네티스
        • 기타 기술
      • 퍼블릭 클라우드 관련
        • Azure
        • GCP
        • AWS
      • 정보보안 관련
        • QRadar
        • Splunk
        • System
        • Web
      • 기타
        • 세상 모든 정보
        • 서적
      • 게임 관련
        • 유니티
      • 부동산
      • 맛집 찾기
        • 강남역
        • 양재역
        • 판교역
        • ★★★★★
        • ★★★★
        • ★★★
        • ★★
        • ★
      • 결혼_육아 생활
        • 리얼후기
        • 일상
        • 육아
        • 사랑
        • Food
      • 영어
        • 스피킹
        • 문법
        • 팝송
        • 영화
      • K-컨텐츠
        • 드라마
        • 영화
        • 예능
      • 독서
      • 프로젝트 관련 조사
        • 시스템 구축
        • 로그 관련
        • 웹
        • APT
        • 모의 해킹
        • DB
        • 허니팟
        • 수리카타
        • 알고리즘
        • FDS
      • 기업별 구내 식당 평가
        • 한국관광공사
        • KT telecop
        • KT M&S
        • KT powertel
        • KT cs 연수원
        • 진에어
      • 대학 생활
        • 위드윈연구소
        • 진로 고민
        • 채용정보
        • 자동차
        • 주식
        • 악성코드
        • 게임 보안
      • 쉐어하우스
  • 블로그 메뉴

    • 홈
    • 게임 관련
    • IT 기술 관련
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    상호관세
    점심
    대통령
    판교맛집
    수제버거맛집
    판교
    마케팅
    복리후생
    보안가이드
    무역전쟁
    이재곧죽습니다
    수제버거존맛
    런치
    유니티
    돈까스
    맛집
    수제버거
    쥬쥬랜드
    AWS
    판교역
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
호레
안드로이드 애플리케이션 분석 자동화 도구
상단으로

티스토리툴바