Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ptxNinja — CUDA 기반 GPU의 가상 명령어 집합 아키텍처인 PTX를 리버스 엔지니어링하기 위한 Binary Ninja 플러그인입니다. | Kitploit
도구/GitHubGitHub/seekbytes/ptxninja
Static AnalysisCode AnalysisReverse EngineeringUtilities & FrameworksHardware & IoT SecurityBinary Analysis
GitHubseekbytes/ptxninja

ptxNinja

CUDA 기반 GPU의 가상 명령어 집합 아키텍처인 PTX를 리버스 엔지니어링하기 위한 Binary Ninja 플러그인입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ptxNinja

작성자: Nicolò Altamura

Binary Ninja를 통해 PTX 코드를 탐색하세요

설명

_ptxNinja_는 CUDA 기반 GPU의 가상 아키텍처 언어인 PTX를 대상으로 하는 Binary Ninja용 아키텍처 플러그인입니다. 이를 통해 다음을 수행할 수 있습니다:

  • 이미 널리 사용 가능한 분석 기능을 통합하여 PTX 바이너리 탐색
  • GPU 커널과 함수 간 탐색
  • Binary Ninja를 통해 기존 자동화 도구에 PTX 통합

Attention mechanism reverse engineered (PTX)

설치

플러그인은 Binary Ninja의 플러그인 관리자를 사용하여 설치할 수 있습니다.

수동 설치를 원할 경우, Binary Ninja의 플러그인 폴더에서 다음 단계를 따르세요:

root@kitploit:~
git clone https://github.com/seekbytes/ptxninja.git
cd ptxninja

# optionally: use a virtual environment
python -m venv ptxninja-env
source ptxninja-env/bin/activate

# install requirements
pip install ptx-parser

가상 환경을 사용하는 경우, Binary Ninja 설정에서 site-packages 경로를 수동으로 지정해야 합니다.

예제

어디서부터 시작해야 할지 모르겠거나 PTX 파일을 본 적이 없다면, examples/ 디렉터리에 있는 몇 가지 토이 커널을 확인해 보세요. 다음이 포함됩니다:

  • attention.ptx — 어텐션 메커니즘 커널
  • elu.ptx — ELU (Exponential Linear Unit) 활성화 함수
  • gele.ptx — GELU (Gaussian Error Linear Unit) 활성화 함수
  • gemm.ptx — 일반 행렬 곱셈
  • histogram.ptx — 히스토그램 계산 커널
  • layernorm.ptx — 레이어 정규화 커널
  • matrix.ptx — 행렬 연산
  • multi_tensor.ptx — 다중 텐서 연산
  • reduce_sum.ptx — 병렬 리덕션 합 커널
  • relu.ptx — ReLU 활성화 함수
  • softmax.ptx — Softmax 활성화 함수

제한 사항

PTX는 텍스트 형식 언어를 기반으로 하며, nvdisasm/cuobjdump의 출력에는 이미 바이너리에 삽입된 많은 정보가 포함되어 있습니다. 텍스트를 다루려면 파서 테스트를 위한 정밀한 문법을 구축해야 하지만, 몇 가지 한계가 있습니다:

  • 레이블이 대상 명령어와 간혹 일치하지 않아 Binary Ninja에서 제어 흐름 시각화가 잘못될 수 있습니다
  • 함수 범위 외부에 선언된 전역 문은 지원되지 않습니다
  • 함수 외부에 할당된 메모리 공간은 매핑되지 않습니다
  • 모든 원자적 연산(atom)이 완전히 지원되지는 않습니다
  • 심볼 이름이 디맹글되지 않습니다 — cuobjdump/cufilt 미화가 아직 적용되지 않았습니다

연락처

자세한 내용은 Nicolò Altamura(@nicolodev)에게 문의하세요.

도구 다운로드