# 그룹 = ★무엇을 어디서 검사하는가. 같은 시그니처가 여러 그룹에 중복으로 있다.
# (2026-10-02 측정):
# 0x05050 == 0x0E050 == 0x0E060 : 해시 15개가 ★완전히 동일
# 0x0F0B0 : 그 15개 중 6개만
# 0x06040 == 0x06050 : MG_L_Damo 시그니처가 양쪽에 같이
# 0x06020 ∩ 0x06030 : 4종 공유
# 같은 시그니처를 여러 번 넣는 이유는 ★검사하는 영역이 다르기 때문이다.
# 영역 자체는 아직 측정 전이라 '미확인' 으로 둔다.
GROUP = {
"0x02051": ("시간임계값", "threshold_minutes=1", "미확인"),
"0x03010": ("무결성A", "모듈 5종(msw/GameAssembly/UnityPlayer/baselib/xlua)",
"msw 주소공간의 모듈 이미지(추정)"),
"0x03020": ("무결성B", "모듈 6종(A + lib_burst_generated)",
"msw 주소공간의 모듈 이미지(추정)"),
"0x05010": ("이름해시A", "32비트 해시 7개(별도 풀)", "미확인"),
"0x05050": ("이름해시B", "32비트 해시 15개", "미확인"),
"0x0E050": ("이름해시C", "0x05050 과 ★동일한 15개", "미확인"),
"0x0E060": ("이름해시D", "0x05050 과 ★동일한 15개", "미확인"),
"0x0F0B0": ("이름해시E", "그 15개 중 6개만", "미확인"),
"0x06010": ("YARA범용", "매크로·핵·원격·VPN 전반 101종", "메모리 패턴"),
"0x06020": ("YARA입력", "입력 가로채기 라이브러리", "메모리 패턴"),
"0x06030": ("YARA핵도구", "핵 도구·후킹 흔적 22종", "메모리 패턴"),
"0x06040": ("YARA다모", "다모 매크로 본체", "메모리 패턴"),
"0x06050": ("YARA다모B", "0x06040 과 같은 시그니처 - ★영역이 다르다",
"미확인(0x06040 과 다른 곳)"),
"0x06060": ("YARA외부", "외부 프로세스의 스크립트 런타임 17종",
"타 프로세스(추정)"),
"0x06061": ("YARA심층", "Depth_ 접두 127종 - 위 룰들의 심층판", "미확인"),
"0x07010": ("서버IP", "접속 금지 IP 2개", "네트워크"),
"0x0F013": ("화면캡처", "1280px/q50/100장/쿨타임6초", "화면"),
}
# 룰 이름 접두 = ★무엇을 탐지하는가. 각 룰의 hex 패턴을 복원해 확인한 것.
PREFIX = [
("MG_HW", "매크로 하드웨어(Bloody/Razer/Logitech/Tesoro 마우스·키보드)"),
("MG_L", "매크로 라이브러리(interception/다모)"),
("MG_P", "매크로 프로그램(WindowexeAutoMacro/오토클릭/지존매크로)"),
("MG", "매크로 프로그램"),
("MT", "메이플 전용 봇(이미지인식+OCR+텔레그램)"),
("HT", "핵 도구(메모리조작·인젝터·오토봇)"),
("HG", "치트엔진·디버거·후킹드라이버(CheatEngine/Frida/MasterHide)"),
("ExtProc", "외부 스크립트 런타임(AutoHotkey/AutoIt/Python)"),
("R_G", "원격제어(AnyDesk/ChromeRemote/Moonlight)"),
("R_MC", "원격제어 상용 클라이언트"),
("R", "원격제어"),
("U", "기타 유틸(창찾기·텔레그램봇·DMA읽기·LLM API)"),
("Control", "입력 제어 라이브러리(pyautogui/pynput/ClassDD/interception)"),
("Vision", "화면 인식(OpenCV/Tesseract OCR/findtext)"),
("VPN", "VPN·게임가속기"),
("MC", "다중PC 입력공유(MouseWithoutBorders/InputDirector)"),
("VM", "가상머신(VMware 드라이버 문자열)"),
("NM", "네트워크 패킷 도구(SharpPcap 등)"),
("PM", "안티루트킷 도구(PCHunter/OpenArk)"),
("Logging", "특정 DLL 이름"),
("Depth", "심층 스캔판"),
("mapleland", "메이플랜드/아르타레 화면 픽셀"),
]서버 -> 클라 한테 실행 시키라고 플래그 값을 자유롭게 보낼 수 있음. 게임 실행 직후 에는 플래그가 거의 고정이었는데 특정 상황 발생 시 플래그들이 켜지는걸 확인할 수 있었음.
아마 정보들을 수집해서 서버로 보낼꺼임. 모듈 중에 카프카 라이브러리 확인했었음.
두서없이 작성했는데 걍 참고만 하셈.