[x64dbg] xAnalyzer Plugin

0) 개요

  • 올리디버거와 같은 디버거에서는 알려진 함수들의 인자값에 대하여 디버깅 과정에서 쉽게 확인 할 수 있음
  • x64dbg에서는 이와 같은 기능이 기본으로 제공되지 않음. 이전부터 이런 부분에 대한 갈증(?)이 존재함
  • CTF Write[1] 을 보던 중 이러한 갈증을 해결해 줄 수 있는 플러그인[2]를 알게 됨


1) 플러그인 관련 설명 및 주요 기능

  • 관련 설명
    • 이전에 있던 x86 대상 API 정보를 확인 할 수 있는 플러그인[3]을 기반으로 제작
    • xAnalyzer는 [3] 의 기능에 x64 대상 API 정보를 확인 할 수 있는 플러그인으로 즉, x64/x86 모두 지원
    • 함수 정의, 인자 및 데이터 타입 뿐만 아니라 추가 설명을 확인 가능 <== 올리디버거 분석 엔진에 가깝게
  • 주요 기능
    • 확장 함수 호출 분석 (거의 200개 DLL에 대한 13,000개의 API 커버)
    • 정의된/일반 함수, 인자, 데이터 타입과 추가적인 디버깅 정보 인식(인지)
    • 자동으로 루프(loop)문 탐지
    • 사용자 정의 파일

2) 다운로드 및 설치


3) 사용 예

  • 크게 3가지로 구분
    • 선택 구간에 대한 분석 (Ctrl + Shift + X)
    • 함수 분석 (Ctrl + X)
    • 실행 파일 전체에 대한 분석 (Ctrl + Alt + X)
  • 적용 전


  • 적용 후


4) 설정


  • 1) 자동 분석
    • 해당 옵션을 활성화하고, 디버거 상에서 엔트리 포인트에 도달하면 실행 코드를 매번 자동 분석
    • 올리디버거와 거의 흡사하게 사용 가능
  • 2) 확장 분석
    • 디버깅 중인 실행파일의 전체 코드 섹션에서 확장 분석을 가능하게 함
  • 3) 정의되지 않은 함수 분석
    • api definition 파일에 정의되지 않은 API 호출이나 함수에 대한 일반적인 분석과 인자 타입을 출력
  • API Definition 파일
    • api_def , api_def/headers 폴더에 있는 파일
      • 파일이름 : API 함수에 대한 모듈 이름
      • 파일이름.h : 데이터 타입을 포함하는 헤더
      • .api 확장 : kernel32.api 또는 shell32.api 와 같이사용, 위의 확장과

5) 공식블로그에 올라온 리뷰 [4]


[Refrences]

  1. https://blog.attify.com/flare-4-writeup-p1/
  2. https://github.com/ThunderCls/xAnalyzer
  3. https://github.com/mrfearless/APIInfo-Plugin-x86
  4. https://x64dbg.com/blog/2016/11/24/xanalyzer-reviewed.html
Copyright 2018. (JAEKI KIM) all rights reserved.
Copyright 2018. (JAEKI KIM) All pictures cannot be copied without permission.


comments powered by Disqus