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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
NeuroCore — NeuroCore는 Hilbert Curve 매핑과 Shannon Entropy 계산을 사용하여 바이너리 파일의 내부 구조를 시각화하는 네이티브 macOS 애플리케이션이며, Metal Compute Shaders로 가속화됩니다. | Kitploit
도구/GitHubGitHub/farukalpay/neurocore
Static AnalysisReverse EngineeringForensicsMalware AnalysisDigital ForensicsBinary Analysis
GitHubfarukalpay/neurocore

NeuroCore

NeuroCore는 Hilbert Curve 매핑과 Shannon Entropy 계산을 사용하여 바이너리 파일의 내부 구조를 시각화하는 네이티브 macOS 애플리케이션이며, Metal Compute Shaders로 가속화됩니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

NeuroCore

고성능 구조적 바이너리 분석 및 시각화 유틸리티


개요

NeuroCore는 고속 시각화를 통해 바이너리 데이터의 구조적 분석을 위해 설계된 네이티브 macOS 유틸리티입니다. Metal Compute Shaders를 통해 GPGPU를 활용하여 raw 바이너리 스트림을 Hilbert Space-Filling Curve에 실시간으로 매핑합니다. 이러한 투영은 선형 16진수 표현의 한계를 해결하여 파일 분류, 엔트로피 분포 및 암호학적 이상 징후의 신속한 식별을 가능하게 합니다.

소개

전통적인 16진수 편집기는 바이너리 데이터를 선형적이고 오프셋 기반 형식으로 표현하여 거시적 구조 패턴과 데이터 밀도를 모호하게 만듭니다. NeuroCore는 선형 데이터를 2차원 위상 공간에 투영하여 이러한 발견적 격차를 해결합니다.

핵심 투영은 연속적인 프랙탈 공간 채움 곡선인 Hilbert Curve에 의존합니다. 이 수학적 변환은 공간 지역성을 보존합니다: 선형 메모리 스트림에서 인접한 데이터 포인트는 2D 시각화에서도 엄격하게 인접합니다. 이 속성을 통해 분석가는 파일 헤더를 파싱하지 않고도 파일의 구조적 구성을 시각적으로 분석할 수 있습니다—기계어, 구조화된 텍스트, 비트맵 및 고엔트로피 블록을 구분합니다.

기술 아키텍처

NeuroCore는 중간 추상화 계층을 우회하여 GPU와 직접 상호작용하는 고성능 네이티브 애플리케이션으로 설계되었습니다.

  • 언어: Swift 5.5+ (Strict Concurrency)
  • 그래픽 파이프라인: Metal API (Compute 및 Render Command Encoders)
  • 인터페이스: SwiftUI와 NSViewRepresentable 브리징을 사용한 Metal 레이어

렌더링 파이프라인

렌더링 엔진은 사용자 정의 Metal Shading Language (MSL) 커널을 사용하여 Shannon Entropy의 병렬 계산 및 좌표 매핑을 실행합니다.

  1. 수집: 원시 바이너리 데이터가 MTLBuffer 객체로 스트리밍됩니다.
  2. 계산: GPU가 버퍼 전체에 걸쳐 슬라이딩 윈도우 엔트로피 계산을 실행합니다.
  3. 매핑: 선형 오프셋이 비트별 Hilbert 매핑 알고리즘을 사용하여 $(x, y)$ 좌표로 변환됩니다.
  4. 래스터화: 픽셀 조각이 로컬 엔트로피 분산에 따라 동적으로 색상화되어, VRAM 스래싱 없이 임의로 큰 데이터셋에서 60fps 성능을 달성합니다.

시각적 데이터 분석 및 해석

다음 사례 연구는 엔트로피 시각화를 통해 파일 구조를 구별하는 NeuroCore의 효율성을 보여줍니다.


JSON 데이터 구조 분석
그림 1: 17.7 MB 미확인 바이너리 시각화 (계층적 JSON으로 식별됨)

사례 연구 I: 저엔트로피 계층적 데이터

대상: 운영 체제에서 "알 수 없음"으로 분류된 17.7 MB 파일.

  • 엔트로피 시그니처 (낮음/중간): 시각화는 녹색/청록 스펙트럼이 지배적이며, 이는 엔트로피 점수가 $\approx 2.0 - 4.0$임을 나타냅니다. 암호화된 블롭과 달리, 이 스펙트럼은 데이터 스트림 내에서 높은 중복성과 예측 가능성을 나타냅니다.
  • 위상적 특징: Hilbert Curve를 따른 뚜렷한 기하학적 분할 및 "블록형" 아티팩트는 예쁘게 출력된 텍스트의 특징입니다. 균일한 영역은 반복되는 바이트 시퀀스(예: 공백 들여쓰기, 반복 키)를 나타내고, 분산된 변화는 값 변경을 나타냅니다.
  • 결론: 시각적 지형은 파일이 컴파일된 실행 파일이 아닌 비압축 계층적 텍스트 구조(JSON 데이터셋)임을 확인하며, 초기 16진수 검사의 필요성을 없앱니다.



압축 바이너리 분석
그림 2: 192 MB Apple 디스크 이미지(.dmg) 시각화

사례 연구 II: 고엔트로피 압축 아카이브

대상: 192 MB .dmg 볼륨.

  • 엔트로피 시그니처 (높음): 빨간색 픽셀 데이터의 포화는 최대 엔트로피(바이트당 $\approx 7.5 - 8.0$ 비트)를 나타냅니다. 시각적으로 "노이즈"로 해석되지만, 이 확률적 분포는 데이터 중복성이 효과적으로 제거되었음을 나타냅니다.
  • 텍스처 균일성: 그림 1에서 볼 수 있는 기하학적 "섬"이 없습니다. 압축 알고리즘(예: LZFSE, zlib)은 저장 효율성을 극대화하기 위해 바이트 값을 균일하게 분포시켜 높은 분산 필드를 생성합니다.
  • 결론: 이 시각적 밀도는 패킹된 실행 파일, 암호화된 볼륨 또는 압축 아카이브의 뚜렷한 시그니처입니다. 포렌식 관점에서 표준 문서로 주장되는 파일에서 이 시그니처를 관찰하면 즉시 스테가노그래피 페이로드 삽입 또는 암호화가 의심됩니다.

주요 기능

  • 하드웨어 가속 컴퓨트: 엔트로피 휴리스틱과 좌표 변환을 Metal Compute Shaders를 통해 GPU에 오프로드하여 실시간 탐색 보장.
  • Hilbert 위치 보존: 선형 스트림을 2D 지형으로 변환하면서 이웃 관계를 유지하여 구조적 경계를 시각적으로 명확하게 함.
  • 엔트로피 기반 색상 측정:
    • 빨간색: 고엔트로피 (암호화, 압축, RNG 출력).
    • 파란색/녹색: 중저엔트로피 (x86/ARM64 기계어, 텍스트, 헤더).
    • 검은색: 널 공간 (제로 패딩/할당).
  • 가상 윈도잉: 제로 할당 탐색 시스템 구현. 셰이더 내에서 동적으로 오프셋을 계산하여 VRAM에 전체 데이터셋을 미리 버퍼링하지 않고 기가바이트 규모 파일을 즉시 탐색 가능.

사용 사례

  1. 리버스 엔지니어링: 바이너리 래퍼 내에서 .text 섹션, 내장 리소스 또는 암호화된 페이로드의 신속한 위치 파악.
  2. 악성코드 분석: 표준 컴파일 로직과 구별되는 고엔트로피 이상 징후로 나타나는 패커 및 난독화 계층의 시각적 식별.
  3. 디지털 포렌식: 예상 파일 구조 패턴을 방해하는 추가 데이터(EOF 오버레이) 또는 스테가노그래피 변조 탐지.
  4. 암호학적 검증: 난수 생성기(RNG) 균일성 및 압축 알고리즘 효율성의 시각적 확인.

설치 및 빌드

이 프로젝트는 네이티브 macOS 툴체인을 사용하며 외부 패키지 관리자가 필요하지 않습니다.

사전 요구 사항:

  • macOS 12.0 (Monterey) 이상.
  • Apple Silicon (M1/M2/M3) 아키텍처 권장 (최적의 셰이더 처리량을 위해).
  • Xcode Command Line Tools.

컴파일:

프로젝트 루트에서 다음 명령을 실행하여 Swift 컴파일러를 호출하고 필요한 프레임워크(SwiftUI, Metal, MetalKit, AppKit, Foundation)를 링크합니다:

root@kitploit:~
swiftc NeuroCoreApp.swift ContentView.swift Renderer.swift ShaderSource.swift Utils.swift \
-o NeuroCore \
-sdk $(xcrun --show-sdk-path) \
-target arm64-apple-macos12.0 \
-framework SwiftUI \
-framework Metal \
-framework MetalKit \
-framework AppKit \
-framework Foundation

실행:

root@kitploit:~
./NeuroCore

사용법

  1. 데이터 수집: 모든 바이너리 대상을 시각화 뷰포트에 직접 드래그 앤 드롭합니다. 렌더링은 즉시 이루어집니다.
  2. 탐색:
  • 이동: 두 손가락 스크롤 (트랙패드) 또는 스크롤 휠.
  • 확대/축소: Option + 스크롤을 눌러 바이트-퍼-픽셀 밀도를 조정합니다.

라이선스

모든 권리 보유. 허가되지 않은 상업적 사용, 재배포 또는 수정은 엄격히 금지됩니다.

도구 다운로드