MAPLE HUNT MULTIVIEW - SAFETY ARCHITECTURE LOCK
================================================

이 프로그램의 핵심 원칙
-----------------------
이 프로젝트는 Windows DWM Thumbnail API를 사용하는 독립 외부 화면 복제 프로그램이다.
게임 프로세스 내부에 접근하지 않고, 화면에 보이는 픽셀만 분석한다.

허용하는 동작
-------------
1. EnumWindows / GetWindowText / GetClassName 등 일반 Win32 창 열거
2. GetWindowThreadProcessId가 돌려주는 PID를 창 정렬 키로만 사용
   - 해당 PID로 프로세스 핸들을 열지 않음
   - 모듈/메모리/실행파일 내부를 읽지 않음
3. DwmRegisterThumbnail / DwmUpdateThumbnailProperties를 이용한 화면 복제
4. 프로그램 자신의 복제 표시 영역을 Graphics.CopyFromScreen으로 픽셀 캡처
5. 캡처된 픽셀에서 색상/도형을 분석하여 캐릭터 이동 및 룬 상태 판단
6. 프로그램 자체 HUD/소리/프리셋/창 배치
7. RegisterHotKey를 통한 프로그램 자체 기능 단축키

금지하는 동작
-------------
- OpenProcess
- ReadProcessMemory / WriteProcessMemory
- DLL injection / CreateRemoteThread
- 프로세스 모듈 탐색
- 키보드/마우스 후킹
- SendInput / keybd_event / mouse_event
- PostMessage / SendMessage로 게임에 입력 전달
- 패킷 캡처/분석/변조
- 게임 파일 읽기/변조
- 드라이버/커널 접근
- 게임 대신 행동하는 자동화

빌드 잠금
---------
build.bat는 컴파일 전에 safety_check.ps1을 실행한다.
금지 API 토큰이 하나라도 소스에 들어오면 빌드를 즉시 중단한다.
P/Invoke DLL도 아래 3개만 허용한다.
- dwmapi.dll
- user32.dll
- gdi32.dll

중요
----
이 구조는 게임 내부를 조작하는 구조가 아니라 외부 화면 표시/분석 구조다.
다만 특정 게임사의 제재 여부를 어떤 외부 프로그램도 100% 보증할 수는 없다.
따라서 이 프로젝트는 위 원칙을 변경하지 않는 것을 최우선 조건으로 한다.
