ForgeNet
🔍
🏗️ ForgeNet 시스템 아키텍처
iOS 커널 리버싱 및 재컴파일 통합 파이프라인
8
다이어그램
7
시스템 컴포넌트
4
서버/디바이스
10
파이프라인 단계
Mac Mini
중앙 컨트롤러
Ubuntu Server
192.168.10.54
AWS Seoul
43.200.242.36
iOS Devices
대박폰 / iPhone 15
🔍 클릭하여 상세 다이어그램으로 드릴다운
flowchart TB
subgraph MACMINI["🖥️ Mac Mini (Central Controller)"]
direction TB
BF["BlackForge v1.2.2\n커널 재컴파일"]
DF["DeviceForge v1.0.0\niOS 디바이스 관리"]
FN["ForgeNet v1.4.0\n통합 파이프라인"]
end
subgraph UBUNTU["🐧 Ubuntu Server (192.168.10.54)"]
direction TB
XV["XNUVault v1.3.0\n41,801 함수 DB"]
XS["XNUScanner v3.1.1\n소스 스캐너"]
AV["ASMVault v1.2.7\n77,213 함수 DB"]
KF["KernelForge DB :5433\nPostgreSQL"]
BW["BlackForge Worker\n원격 매칭"]
end
subgraph AWS["☁️ AWS Seoul (43.200.242.36)"]
CF["ClaudeForge v2.2.1\n작업 로그"]
PF["ProjectForge :9003\n웹 대시보드"]
end
subgraph IPHONE["📱 iOS Devices"]
DB["대박폰 :2221\niPhone 13 iOS 14.1"]
IP15["iPhone 15 Plus :2222\niOS 17.0"]
end
FN --> BF
FN --> DF
BF -->|"SSH 매칭"| BW
BW --> XV
BW --> AV
XV --> XS
DF -->|"iproxy"| DB
DF -->|"iproxy"| IP15
FN -->|"HTTPS"| CF
FN -->|"HTTPS"| PF
KF -.-> XV
KF -.-> AV
style MACMINI fill:#1a1a2e,stroke:#58a6ff,stroke-width:2px
style UBUNTU fill:#16213e,stroke:#7ee787,stroke-width:2px
style AWS fill:#0f3460,stroke:#ffa657,stroke-width:2px
style IPHONE fill:#1a1a2e,stroke:#f85149,stroke-width:2px
🏛️ 아키텍처 다이어그램
flowchart TB
subgraph MACMINI["🖥️ Mac Mini (Central Controller)"]
direction TB
BF["BlackForge v1.2.2\n커널 재컴파일"]
DF["DeviceForge v1.0.0\niOS 디바이스 관리"]
FN["ForgeNet v1.4.0\n통합 파이프라인"]
end
subgraph UBUNTU["🐧 Ubuntu Server (192.168.10.54)"]
direction TB
XV["XNUVault v1.3.0\n41,801 함수 DB"]
XS["XNUScanner v3.1.1\n소스 스캐너"]
AV["ASMVault v1.2.7\n77,213 함수 DB"]
KF["KernelForge DB :5433\nPostgreSQL"]
BW["BlackForge...
architecture
ForgeNet 전체 시스템 아키텍처
Mac Mini 중앙 제어, Ubuntu 백엔드, AWS 클라우드, iOS 디바이스로 구성된 ForgeNet 전체 시스템...
🧩 컴포넌트 다이어그램
flowchart TB
subgraph CORE["🔧 Core Systems"]
FN["ForgeNet\nv1.4.0"]
BF["BlackForge\nv1.2.2"]
DF["DeviceForge\nv1.0.0"]
end
subgraph DATA["📊 Data Systems"]
XV["XNUVault\nv1.3.0"]
AV["ASMVault\nv1.2.7"]
XS["XNUScanner\nv3.1.1"]
end
subgraph DB["💾 Databases"]
KF["KernelForge\nPostgreSQL :5433"]
CF["ClaudeForge\nPostgreSQL :9000"]
end
subgraph UI["🖼️ Interfaces"]
PF["ProjectForge\nFlask :9003"]
...
component
ForgeNet 컴포넌트 관계도
ForgeNet 컴포넌트 간의 관계와 의존성...
📊 플로우차트
flowchart LR
subgraph PHASE1["📥 Phase 1: 추출 및 변환"]
S1["Step 1\nDisassemble\n커널캐시 디스어셈블"]
S2["Step 2\nGAS Convert\nGNU AS 형식 변환"]
end
subgraph PHASE2["🔍 Phase 2: 소스 매칭"]
S3["Step 3\nXNU Match\nUbuntu 원격 매칭"]
end
subgraph PHASE3["🔧 Phase 3: 주소 수정"]
S4["Step 4\nADRP Fix\n페이지 주소 수정"]
S5["Step 5\nADR Fix\n직접 주소 수정"]
S6["Step 6\nLDR Fix\n리터럴 로드 수정"]
S7["Step 7\nBranch Fix\n분기 명령 수정"]
end
subgraph PHASE4["🏗️ Phase 4:...
flowchart
BlackForge 완전 파이프라인 흐름도
iOS kernelcache를 재컴파일하는 10단계 파이프라인...
flowchart LR
subgraph DEVICE["📱 iOS Device"]
KC["kernelcache\n69MB"]
DUMP["Memory Dumps"]
end
subgraph MM["🖥️ Mac Mini"]
ASM["ARM64 ASM\n500MB"]
GAS["GAS Format"]
FIXED["Fixed ASM"]
OBJ["Object File"]
REBUILT["Rebuilt KC"]
end
subgraph UB["🐧 Ubuntu"]
XNU["XNU Sources\n7.8GB, 151 ver"]
VAULT["XNUVault\n11GB, 41K func"]
ASMV["ASMVault\n77K func"]
end
subgraph AWS["☁️ AWS"]
LOG["Wo...
flowchart
ForgeNet 데이터 흐름도
ForgeNet 모든 컴포넌트 간의 데이터 흐름...
flowchart TB
subgraph INPUT["📥 입력"]
KC["kernelcache_t8101\n69MB Mach-O"]
end
subgraph PARSE["🔍 Mach-O 파싱"]
MH["MachHeader64\nmagic: 0xfeedfacf"]
LC["Load Commands\nLC_SEGMENT_64"]
SEG["Segments 추출\n__TEXT_EXEC"]
SEC["Sections 추출\n__text"]
end
subgraph DISASM["⚙️ 디스어셈블"]
CS["Capstone 엔진\nCS_ARCH_ARM64"]
INS["명령어 디코딩\n~3.5M 명령어"]
SYM["심볼 테이블 매핑\n77,000+ 함수"]
end
subgraph OUTPUT["📤 출력"]
ASM["kerne...
flowchart
Step 1 디스어셈블 상세
Capstone 엔진을 사용한 커널캐시 디스어셈블 상세 과정...
flowchart TB
subgraph INPUT["📥 입력"]
ASM["kernelcache_fixed.asm"]
SYM["symbols.txt\n77,000+ 심볼"]
end
subgraph XNUVAULT["📚 XNUVault 검색"]
IDX["index.json\n21MB, 38,861 함수"]
CAT["10개 카테고리\nprocess, kernel, network..."]
VER["151개 XNU 버전\nxnu-123 ~ xnu-12377"]
end
subgraph MATCH["🎯 매칭 로직"]
M1["1. 함수명 완전 일치"]
M2["2. 시그니처 유사도"]
M3["3. 호출 그래프 비교"]
M4["4. 코드 패턴 분석"]
end
subgraph RESULT["📊 결과"]
MR...
flowchart
Step 3 XNU 매칭 상세
XNUVault와 ASMVault 기반 함수 매칭 프로세스...
flowchart TB
subgraph ADRP_INST["📐 ADRP 명령어 구조"]
BIT["31 | 30-29 | 28-24 | 23-5 | 4-0"]
VAL["1 | immlo | 100000 | immhi | Rd"]
end
subgraph CALC["🔢 주소 계산"]
PC["PC (현재 주소)\n0xfffffff007c00000"]
TGT["Target (목표 주소)\n0xfffffff009d18000"]
PAGE["페이지 정렬\n& ~0xFFF"]
DELTA["page_delta\n(target_page - pc_page) >> 12"]
end
subgraph ENCODE["⚙️ 인코딩"]
IMM21["21-bit imm\nimmhi:immlo"]
RANGE["범위: ±4GB\n(1 << 20) pages"]
...
flowchart
Step 4 ADRP 수정 상세
ARM64 ADRP 명령어 인코딩과 페이지 주소 계산...
🔄 시퀀스 다이어그램
sequenceDiagram
participant MM as 🖥️ Mac Mini<br/>BlackForge
participant SSH as 🔐 SSH<br/>192.168.10.54
participant BW as 🔄 BlackForge<br/>Worker
participant XV as 📚 XNUVault<br/>41,801 함수
participant XS as 🔍 XNU Sources<br/>151 버전
MM->>SSH: SSH 연결 (hacker@192.168.10.54)
SSH->>BW: xnu_match_worker.py 실행
rect rgb(30, 60, 90)
Note over BW,XV: 🔎 함수 매칭 프로세스
BW->>XV: index.json 로드 (21MB)
XV-->>BW: 38,861 고유 함수
BW->>XV: 함수명 검색
X...
sequence
XNU 소스 매칭 시퀀스 다이어그램
Mac Mini와 Ubuntu 간의 XNU 소스 매칭 과정을 보여주는 시퀀스 다이어그램...