가이드읽기 전용 · 보내는 정보
안전 설계와 개인정보: D4 Builder가 하는 일과 하지 않는 일
D4 Builder는 게임을 건드리지 않고 화면을 ‘보기만’ 하도록 만들었습니다. 이 글은 앱이 실제로 하는 일과 일부러 하지 않는 일, 그리고 어떤 정보가 기기 밖으로 나가는지를 있는 그대로 설명합니다.
화면을 읽기만 합니다
D4 Builder가 게임에서 얻는 정보는 게임 창의 픽셀뿐입니다.
- macOS 표준 화면 캡처(ScreenCaptureKit)로 게임 창 하나만 캡처합니다. 마우스 커서는 캡처에 넣지 않습니다.
- 캡처는 화면이 바뀌는 동안 초당 최대 2장이고, 화면이 그대로면 더 느리게 확인합니다.
- 캡처한 화면은 Mac 안에서만 처리하고 서버로 보내지 않습니다.
- 안내는 게임 창 위에 겹친 투명하고 클릭이 통과하는 창에 그립니다. 클릭과 키 입력은 그대로 게임으로 가고, 앱의 창은 캡처에 섞이지 않습니다.
OBS나 Discord 화면 공유가 쓰는 것과 같은 OS 기능이라 화면 기록 권한이 필요합니다. 권한은 시스템 설정에서 언제든 끌 수 있습니다.
Windows에서는
Windows 버전도 같은 원칙입니다.
- Windows 표준 화면 캡처(Windows Graphics Capture)로 게임 창 하나만 캡처합니다. 이 방식이 안 되는 PC에서만 Windows의 다른 표준 캡처(PrintWindow, BitBlt)로 바꿉니다. 따로 켤 권한은 없습니다.
- 캡처한 화면은 PC 안에서만 처리합니다. 처리 중의 임시 파일은
%TEMP%\D4Builder에만 둡니다. - 로그와 설정은
%LOCALAPPDATA%\D4Builder에 남고 자동으로 보내지 않습니다. 앱 연결 키는 Windows DPAPI로 암호화해 지금 Windows 사용자만 풀 수 있게 저장합니다. - 안내는 Mac처럼 클릭이 통과하는 투명한 창에 그리고, 단축키는 앱이 직접 등록한 Ctrl+Alt 조합만 씁니다. 프로세스는 작업 관리자에 ‘D4 Builder’로 보입니다.
일부러 하지 않는 일
안티치트가 보통 찾는 동작은 넣지 않았습니다.
| 하지 않는 일 | 의미 |
|---|---|
| 게임 메모리 읽기·수정 | 게임 프로세스를 열지 않습니다. |
| 코드 주입·후킹 | 게임에 코드를 넣거나 입력을 가로채지 않습니다. |
| 입력 자동화 | 클릭이나 키 입력을 보내지 않습니다. 노드는 사용자가 직접 찍습니다. |
| 숨기·위장 | 이름 위장, 창 숨기기, 안티치트 탐지·우회 기능이 없습니다. 프로세스와 창 모두 ‘D4 Builder’로 보입니다. |
이 약속은 코드로 확인합니다. 빌드할 때마다 감사 스크립트(scripts/audit_readonly.sh)가 앱과 코어에서 입력 합성(CGEventPost, CGEventCreateMouseEvent, CGEventCreateKeyboardEvent), 다른 앱 조작(AXUIElementPerformAction), 프로세스 접근(task_for_pid), 입력 가로채기(CGEventTapCreate)를 찾으면 빌드를 실패시킵니다. Windows 코드도 같은 스크립트가 입력 합성(SendInput), 게임 메모리 접근(ReadProcessMemory), 후킹을 찾습니다.
그래도 위험은 0이 아닙니다
블리자드 이용 약관은 ‘승인되지 않은 서드파티 소프트웨어’를 폭넓게 금지합니다. 화면을 읽어 안내만 하는 오버레이가 여기에 해당하는지는 회색 지대이고, Blizzard의 판단은 누구도 보장할 수 없습니다. D4 Builder는 비공식 팬 도구이며, 사용과 그에 따른 계정 조치의 책임은 사용자에게 있습니다.
- Windows 버전도 같은 원칙입니다. 프로세스 목록에 실제 이름으로 보이고, 게임 프로세스에 손대지 않으며,
SendInput·ReadProcessMemory·코드 주입·후킹을 쓰지 않습니다. - 더 낮은 위험을 원하는 사람을 위해, 안내를 보조 모니터나 휴대폰에 띄우는 컴패니언 모드를 계획하고 있습니다(아직 없음).
앱이 인터넷으로 주고받는 것
| 언제 | 어디와 | 무엇을 |
|---|---|---|
| 빌드를 가져올 때 | 붙여 넣은 링크의 빌드 사이트 | 그 빌드의 공개 정보(스킬·정복자·장비)를 받음 |
| 게임 데이터가 필요할 때 | 공개 게임 데이터 파일 | 스킬·노드 이름과 트리 배치를 받아 Mac(Windows는 PC)에 저장 |
| 실행할 때와 하루 한 번 | 이 사이트(/app/releases.json) | 새 버전과 업데이트 내역 확인 |
| 실행할 때와 24시간마다 | 계정 서버(Supabase) | 연결 키 확인. 하루 한 번의 사용 기록(날짜, 키, 앱 버전, OS)이 남고 400일 뒤 지워짐 |
| 직접 보낼 때만 | 계정 서버(Supabase) | 오류 알리기·피드백(보내는 항목) |
게임 화면, 캡처 이미지, 파일, 로그는 어디로도 보내지 않습니다. 앱에는 광고가 없습니다.
Windows 앱도 위 표와 같습니다. 하나 다른 점은 진단 내보내기입니다. 버튼을 누르면 버전, 모니터·배율, 게임 표시 모드, 캡처 방식과 걸린 시간, 최근 로그 200줄, 마지막 안내 목록을 담은 zip을 PC에 만들고(게임 창 캡처는 직접 고른 경우에만 한 장), 사용자가 직접 올릴 때만 운영자에게 갑니다. 앱이 이 zip을 스스로 보내지는 않습니다.
자주 묻는 질문
블리자드가 프로세스 목록을 보면 알 수 있나요?
네. D4 Builder는 숨지 않고 ‘D4 Builder’라는 이름 그대로 보입니다. 위장이나 탐지 우회는 일부러 넣지 않았습니다. 다만 Blizzard가 이를 어떻게 판단할지는 보장할 수 없습니다.
계정 정지 위험이 있나요?
0은 아닙니다. 메모리 접근·코드 주입·후킹·입력 자동화와 회피 기능은 없지만, 약관상 허용되는지는 회색 지대이고 사용 책임은 본인에게 있습니다. 위험을 더 줄이고 싶다면 계획 중인 컴패니언 모드를 기다리는 방법도 있습니다.
오버레이가 게임을 느리게 하지 않나요?
캡처는 화면이 바뀌는 동안 초당 최대 2장이고, 화면이 그대로면 더 드물게 확인합니다. 개발 중 실제 게임에서 확인했을 때 클릭은 그대로 전달되었고 끊김은 느껴지지 않았습니다. Mac 사양에 따라 다를 수 있으니, 신경 쓰인다면 ⌥⌘H로 오버레이를 숨기거나 앱을 종료하세요.
내 데이터 확인하고 지우기
계정 페이지에 로그인한 뒤 내 데이터 삭제를 누르면 D4 Builder 가입 정보, 앱 연결 키, 사용 기록, 연결된 앱에서 보낸 오류 신고와 피드백이 바로 지워집니다. 수집 항목, 보관 기간, 처리 위탁은 개인정보 처리방침에 모두 적어 두었습니다.
이 사이트의 가이드 페이지에는 Google AdSense 광고가 표시될 수 있습니다. 광고가 쓰는 쿠키와 그 설정 방법도 개인정보 처리방침에 있습니다.


