Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
HexRaysCodeXplorer — 더 나은 코드 탐색을 위한 Hex-Rays Decompiler 플러그인 | Kitploit
도구/GitHubGitHub/rehints/hexrayscodexplorer
Static AnalysisReverse EngineeringDebuggersMalware AnalysisBinary Analysis
GitHubrehints/hexrayscodexplorer

HexRaysCodeXplorer

더 나은 코드 탐색을 위한 Hex-Rays Decompiler 플러그인

저장소 보기
2.6k4138개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

| | | | | ___ \ / __ \ | | \ \ / / | |
| || | _____ | |/ /__ _ _ _ | / / ___ | | ___ \ V / _ __ | | ___ _ __ ___ _ __ | _ |/ _ \ / / // | | | / __| | / _ \ / _ |/ _ / | ' | |/ _ | '/ _ \ '| | | | | __/> <| |\ \ (| | || __ \ _/\ () | (| | __/ /^\ \ |) | | () | | | __/ |
_| |
/_//__| __,|_, |/_/_/ _,|_/ / ./||___/|| ___||
/ | | |
|
/ |_|

License: GPL v3 Code Climate Issue Count

RE 과정에서 더 나은 코드 탐색을 위한 Hex-Rays 디컴파일러 플러그인입니다. CodeXplorer는 C++ 애플리케이션이나 Stuxnet, Flame, Equation, Animal Farm과 같은 현대 악성코드의 코드 재구성을 자동화합니다. :octocat:

CodeXplorer 플러그인은 처음으로 공개된 Hex-Rays 디컴파일러 플러그인 중 하나입니다. 우리는 2013년 여름부터 이 프로젝트를 계속 업데이트하고 있으며 새로운 기능을 자주 추가하고 있습니다. 또한 CodeXplorer의 가장 흥미로운 기능들은 REcon, ZeroNights, H2HC, NSEC, BHUS 등 여러 보안 컨퍼런스에서 발표되었습니다. 👾

기여자:

Alex Matrosov (@matrosov)

Eugene Rodionov (@rodionov)

Rodrigo Branco (@rrbranco)

Gabriel Barbosa (@gabrielnb)

지원되는 Hex-Rays 제품 버전: 항상 최신 버전의 IDA와 디컴파일러에 초점을 맞춥니다. 새로운 SDK 릴리스의 흥미로운 기능을 활용하려고 하기 때문입니다. 또한 최신 버전에서만 테스트했으며 이전 버전에서는 안정적인 작동을 보장하지 않음을 의미합니다.

왜 IdaPython이 아닌가: 모든 코드는 C/C++로 개발되었습니다. Hex-Rays 디컴파일러를 위한 복잡한 플러그인을 지원하는 더 안정적인 방법이기 때문입니다.

지원 플랫폼: Win, Linux, Mac에서 x86/x64.

HexRaysCodeXplorer - 더 쉬운 코드 탐색을 위한 Hex-Rays 디컴파일러 플러그인입니다. 의사 코드 창의 오른쪽 클릭 컨텍스트 메뉴에 CodeXplorer 플러그인 명령이 표시됩니다:

1

💎 다음은 CodeXplorer 플러그인의 주요 기능입니다: 💎

  • 자동 타입 재구성 for C++ objects. To be able to reconstruct a type using HexRaysCodeXplorer one needs to select the variable holding pointer to the instance of position independed code or to an object and by right-button mouse click select from the context menu «REconstruct Type» option:

2

The reconstructed structure is displayed in “Output window”. Detailed information about type Reconstruction feature is provided in the blog post “Type REconstruction in HexRaysCodeXplorer”.

Also CodeXplorer plugin supports auto REconstruction type into IDA local types storage.

6

  • 가상 함수 테이블 식별 - 타입 재구성 중 가상 함수 테이블에 대한 참조를 자동으로 식별합니다. 가상 함수 테이블에 대한 참조가 확인되면 플러그인이 해당 C-구조체를 생성합니다. 아래와 같이 struct_local_data_storage를 재구성하는 동안 두 개의 가상 함수 테이블이 식별되었고, 결과적으로 struct_local_data_storage_VTABLE_0 및 struct_local_data_storage_VTABLE_4라는 두 개의 해당 구조체가 생성되었습니다.

12

  • C-tree 그래프 시각화 - citem_t (hexrays.hpp) 용어로 디컴파일된 루틴을 나타내는 특수 트리 형태의 구조입니다. 디컴파일러의 작동 방식을 이해하는 데 유용한 기능입니다. 강조 표시된 그래프 노드는 Hex-Rays 의사 코드 창의 현재 커서 위치에 해당합니다:

3

  • Ctree 항목 보기 - 강조 표시된 요소의 ctree 표현을 표시합니다:

16

  • Ctree를 파일로 추출 - SHA1 해시를 계산하고 모든 ctree를 파일로 덤프합니다.

14

  • 타입을 파일로 추출 - 모든 타입 정보(재구성된 타입 포함)를 파일로 덤프합니다.

  • 의사 코드 창에서 가상 함수 호출 탐색 - C-구조체로 C++ 객체를 표현한 후 이 기능은 가상 함수 호출을 구조체 필드로 마우스 클릭하여 탐색할 수 있게 합니다:

4

  • 디스어셈블리로 점프 - 현재 의사 코드 라인 위치에서 "IDA 보기 창"의 어셈블리 코드로 이동하는 작은 기능입니다. 디컴파일된 라인과 연관된 어셈블리 코드 위치를 찾는 데 도움이 됩니다.

8

  • 객체 탐색기 - 가상 테이블(VTBL) 구조를 탐색하기 위한 유용한 인터페이스입니다. 객체 탐색기는 VTBL 정보를 IDA 사용자 정의 보기 창에 출력합니다. 출력 창은 오른쪽 버튼 마우스 클릭 컨텍스트 메뉴에서 «객체 탐색기» 옵션을 선택하여 표시됩니다:

5

객체 탐색기는 다음 기능을 지원합니다:

  • IDA 로컬 타입에 대한 VTBL의 자동 구조체 생성

  • 가상 테이블 목록 탐색 및 클릭 시 "IDA 보기" 창에서 VTBL 주소로 점프

  • 가상 테이블 목록의 현재 위치에 대한 힌트 표시

  • "VTBL에 대한 XREFS 표시" 메뉴 클릭 시 상호 참조 목록 표시

11

  • RTTI 객체 자동 구문 분석 지원:

13

일괄 처리 모드에는 다음 기능이 포함됩니다:

  • 일괄 처리 모드 - 사용자 상호 작용 없이 여러 파일을 처리하기 위해 CodeXplorer를 사용하는 유용한 기능입니다. 2015년 Black Hat 연구 이후 2백만 개의 샘플을 처리하기 위해 이 기능을 추가했습니다.
root@kitploit:~
예시 ("crypto_" 접두사가 있는 함수에 대한 타입 및 ctree 덤프):
idaq.exe -OHexRaysCodeXplorer:dump_types:dump_ctrees:CRYPTOcrypto_path_to_idb

컴파일:

Windows:

  • Visual Studio에서 솔루션 열기
  • src/HexRaysCodeXplorer/PropertySheet.props 파일을 메모장(++)으로 열고 IDADIR 및 IDASDK 경로 값을 각각 IDA 설치 경로와 IDA7 SDK 경로로 업데이트합니다. HexRays SDK는 $IDADIR\plugins\hexrays_sdk에 있어야 합니다 (기본값과 같이)
  • Release | x64 및 Release x64 | x64 구성 빌드

Linux:

  • cd src/HexRaysCodeXplorer/
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> EA64=0 make -f makefile.lnx
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> EA64=0 make -f makefile.lnx install

Mac:

  • cd src/HexRaysCodeXplorer/
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> make -f makefile.mac
  • Mac makefile은 수동 편집이 필요할 수 있으며, pull request를 환영합니다!
  • IDA 7.0 .pmc 파일 확장자는 .dylib이어야 합니다.
  • bash$ export IDA_DIR="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS" && export IDA_SDK="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/idasdk" && make -f makefile7.mac
  • 또는 Xcode에서 HexRaysCodeXplorer.xcodeproj 프로젝트 열기

CMake 사용:

  • cd src/HexRaysCodeXplorer/
  • mkdir build && cd build
  • cmake .. -DIdaSdk_ROOT_DIR=<PATH_TO_IDA_SDK> -DHexRaysSdk_ROOT_DIR=<PATH_TO_HEXRAYS_SDK>
  • cmake --build . --config Release

============================================================================

CodeXplorer 플러그인 관련 컨퍼런스 발표:

  • 2015
  • "Distributing the REconstruction of High-Level IR for Large Scale Malware Analysis", BHUS [슬라이드]
  • "Object Oriented Code RE with HexraysCodeXplorer", NSEC [슬라이드]
  • 2014
  • "HexRaysCodeXplorer: object oriented RE for fun and profit", H2HC [슬라이드]
  • 2013
  • "HexRaysCodeXplorer: make object-oriented RE easier", ZeroNights [슬라이드]
  • "Reconstructing Gapz: Position-Independent Code Analysis Problem", REcon [슬라이드]
도구 다운로드