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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
machscope — 올인원 macOS 바이너리 분석: Mach-O 파싱, ARM64 디스어셈블리, 코드 서명, 디버깅. | Kitploit
도구/GitHubGitHub/sadopc/machscope
Static AnalysisiOS SecurityCode AnalysisReverse EngineeringDebuggersMalware AnalysisCTFMobile SecurityBinary AnalysisLearning & EducationFirmware Analysis
GitHub
10046개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
sadopc/machscope

machscope

올인원 macOS 바이너리 분석: Mach-O 파싱, ARM64 디스어셈블리, 코드 서명, 디버깅.

저장소 보기

MachScope

Mach-O 파싱, ARM64 디스어셈블리, 프로세스 디버깅을 제공하는 네이티브 macOS 바이너리 분석 도구입니다. 외부 의존성 없이 전적으로 Swift로 구축되었습니다.

Swift 6.0 Platform License

기능

기능설명
Mach-O 파싱헤더, 세그먼트, 섹션, 심볼, dylibs, 문자열
코드 서명Entitlements, CDHash, 서명 정보, 팀 ID
ARM64 디스어셈블리PAC 주석을 포함한 전체 명령어 디코더
프로세스 디버깅프로세스 연결(attach), 중단점, 메모리, 레지스터
Swift 라이브러리자신의 프로젝트에 임베드
JSON 출력스크립트 작성에 적합한 출력 형식

왜 MachScope인가?

  • 순수 Swift — 의존성 없음, 빌드 및 임베드가 쉬움
  • ARM64 네이티브 — Apple Silicon용으로 제작, PAC 명령어를 이해함
  • 올인원(All-in-One) — 하나의 도구에서 파싱 + 디스어셈블리 + 디버깅
  • 라이브러리 + CLI — 단독으로 사용하거나 Swift 프로젝트에 통합
  • 테스트 완비 — 포괄적인 오류 처리를 갖춘 319+ 테스트

빠른 시작

root@kitploit:~
# 빌드
swift build

# 바이너리 파싱
swift run machscope parse /bin/ls

# macOS 앱 파싱
swift run machscope parse /Applications/Calculator.app/Contents/MacOS/Calculator

# entitlements 확인
swift run machscope parse /Applications/Safari.app/Contents/MacOS/Safari --entitlements

# JSON 출력
swift run machscope parse /bin/ls --json

설치

Homebrew

root@kitploit:~
brew install sadopc/tap/machscope

소스에서 빌드

root@kitploit:~
git clone https://github.com/sadopc/machscope.git
cd MachScope
swift build -c release

전역 설치(선택 사항)

root@kitploit:~
sudo cp .build/release/machscope /usr/local/bin/

사용법

Parse 명령어

Mach-O 바이너리 구조를 분석합니다:

root@kitploit:~
# 기본 분석
machscope parse /bin/ls

# 전체 분석
machscope parse /bin/ls --all

# 특정 섹션
machscope parse /path/to/binary --symbols
machscope parse /path/to/binary --dylibs
machscope parse /path/to/binary --strings
machscope parse /path/to/binary --signatures
machscope parse /path/to/binary --entitlements

# 스크립트 작성을 위한 JSON 출력
machscope parse /bin/ls --json --all > analysis.json

Disassemble 명령어

ARM64 코드를 디스어셈블합니다:

root@kitploit:~
# 함수 목록
machscope disasm /bin/ls --list-functions

# 주소에서 디스어셈블리
machscope disasm /bin/ls --address 0x100003f40 --length 50

# 명령어 바이트 표시
machscope disasm /bin/ls --show-bytes

권한 확인

사용 가능한 기능을 확인합니다:

root@kitploit:~
machscope check-permissions

출력:

root@kitploit:~
Feature               Status      Notes
------------------------------------------------------------
Static Analysis       ✓ Ready     No special permissions needed
Disassembly           ✓ Ready     No special permissions needed
Debugger              ✗ Denied    Missing debugger entitlement

Debug 명령어

실행 중인 프로세스에 연결합니다(서명 필요):

root@kitploit:~
# 먼저 디버거 entitlement로 서명하세요
codesign --force --sign - --entitlements Resources/MachScope.entitlements .build/debug/machscope

# 시스템 설정 > 개인정보 보호 및 보안에서 개발자 도구 활성화

# 프로세스에 연결
machscope debug <pid>

Swift 라이브러리로 사용하기

Package.swift에 MachScope를 추가하세요:

root@kitploit:~
dependencies: [
    .package(url: "https://github.com/sadopc/machscope.git", from: "1.0.0")
]

그런 다음 코드에서 사용하세요:

root@kitploit:~
import MachOKit
import Disassembler

// 바이너리 파싱
let binary = try MachOBinary(path: "/bin/ls")
print("CPU: \(binary.header.cpuType)")
print("Segments: \(binary.segments.count)")

// Entitlements 확인
if let signature = try binary.parseCodeSignature(),
   let entitlements = signature.entitlements {
    for key in entitlements.keys {
        print("\(key): \(entitlements[key] ?? "nil")")
    }
}

// 디스어셈블리
let disasm = ARM64Disassembler(binary: binary)
let result = try disasm.disassembleFunction("_main", from: binary)
for instruction in result.instructions {
    print(disasm.format(instruction))
}

요구 사항

  • macOS 14.0 (Sonoma) 이상
  • Swift 6.0 이상
  • ARM64 (Apple Silicon) — x86_64 파싱은 지원하지만 도구는 ARM64에서 실행됩니다

문서

  • 설치 가이드
  • 빠른 시작
  • 사용 가이드
  • 아키텍처
  • API 참조
  • 문제 해결
  • 기여 가이드

프로젝트 구조

root@kitploit:~
MachScope/
├── Sources/
│   ├── MachOKit/        # 핵심 Mach-O 파싱 라이브러리
│   ├── Disassembler/    # ARM64 명령어 디코더
│   ├── DebuggerCore/    # 프로세스 디버깅
│   └── MachScope/       # CLI 애플리케이션
├── Tests/               # 테스트 스위트 (319+ 테스트)
├── Resources/           # 코드 서명용 Entitlements
└── docs/                # 문서

누구를 위한 도구인가?

  • iOS/macOS 개발자 — App Store 제출 전 바이너리 검사 및 entitlements 확인
  • 보안 연구자 — 신속한 바이너리 분류 및 분석
  • 학생 — 읽기 쉬운 Swift 코드로 Mach-O 형식 학습
  • 도구 개발자 — 자신의 Swift 프로젝트에 MachOKit 임베드
  • CTF 플레이어 — 빠른 바이너리 분석

다른 도구와의 비교

MachScope의 주요 장점: Swift 네이티브 라이브러리를 자신만의 도구에 임베드할 수 있습니다.

라이선스

MIT 라이선스 — 자세한 내용은 LICENSE를 참조하세요.

기여

기여를 환영합니다! 먼저 기여 가이드를 읽어 주세요.

root@kitploit:~
# 제출 전 테스트 실행
swift test

# 코드 포맷
xcrun swift-format -i -r Sources/ Tests/

감사의 말

  • Apple의 Mach-O 문서
  • ARM 아키텍처 참조 매뉴얼
  • Swift 커뮤니티

스타 기록

Star History Chart


Swift로 ❤️를 담아 만들었습니다

도구 다운로드
도구언어라이브러리?ARM64 PAC디버거
MachScopeSwift✅ 예✅ 예✅ 예
otoolC❌ 아니요❌ 아니요❌ 아니요
objdumpC❌ 아니요❌ 아니요❌ 아니요
jtool2C❌ 아니요✅ 예❌ 아니요
Hopper—❌ 아니요✅ 예❌ 아니요