일전에 간단한 플래시게임 매크로를 만들어본 경험이 있습니다. 그때 필요한 정보를 프갤에서 얻었어요
화면을 캡쳐해서 분석한후 클릭하는 방법의 매크로로 완전히 밖에서 작동하는 방식이였어요(그 가이드글의 표현을 인용하자면 our bot will sit purely on the 'outside').
하지만 조금 더 동적인 스타크래프트의 경우 그런 방식으로는 한계가 있다고 많은 분들이 말씀해 주셨습니다(느려터진 파이썬으로는 더더욱이요).
당장 여러분에게 뚝딱 할 수 있는 정보를 얻을 여력은 되지 않지만 뭐를 공부해야 하는지는 알려주실 수 있으실 거 같아서 올려봅니다. 메모리 조작 같은걸 배워야 하나요? 지나가다가 분야 이름만 툭 던져 알려주셔도 구글링하는데 정말 큰 도움이 되요.
매크로는 마린을 산개해준다던가 자동 병력생산이라던가 하는 편의 기능을 생각중에 있습니다. 매크로라고 부르기는 좀 그렇고 헬퍼 정도가 알맞은 표현일 거 같아요
C++, openCV
opencv로 이미지좌표찾는것?
스타1 말하는 거면 이미 리버싱이 꽤 많이 되어서 참고할 만한 소스가 많을 거야. BWAPI라고 깃헙 프로젝트가 있는데 거기 코드 참고해. 브루드워 매크로 구현 라이브러리임. 유닛 제어는 QueueGameCommand 함수가 핵심이다.
당연히 메모리 조작은 필수다. 화면으로는 한계가 많아.
ㅅㅅㅅ// 그 메모리 조작이라는걸 전문용어로 어떤 분야라고 하나요? 또한 파이썬을 버려야 할까요?
프갤럼님 ㄸㅋ
분야가 어딨어. 그냥 메모리 해킹이지 뭐. 리버싱, OS, PE구조, 인텔 아키텍처를 두루 걸치고 있는 부분인데.
그냥 "게임 해킹"이라고 많이 부른다. 메모리 조작은 주로 게임에서나 치팅용으로 많이 하는 거니깐.
예전에 비슷한 작업 하신적 있으신가봐요?
몇 달 전에 스타 유즈맵으로 EUD 트리거 깔짝 대 봤거든 ㅋㄷㅋㄷ 재밌더라고. 스타 유즈맵 제작은 중딩 때 끊었는데 EUD 트리거가 너무 발전해서 탐구 정신으로 한번 건드려봤었음. 원순철 런처 하에서 스타 유즈맵 플레이하면 컴 종료되는 맵도 만들어 봤고 ㅋㅋ
참고로 EUD 트리거는 맵에 해킹 기술로 게임 메모리 조작하는 기술임. 지형 이미지나 유닛 외관, 무기 싹다 개조가 가능 ㅋ 심지어 맵에 동영상까지 넣는데 뭐.
근데 EUD 트리거로 장난질 좀 치려면 당연히 스타크래프트 메모리 구조에 대해 빠삭하게 알고 있어야 함. 이런 자료 같은 걸 참고하지. >
http://farty1billion.dyndns.org/euddb/
스타 외에 게임 해킹 자체는 이전부터 숱하게 해 왔지. 곰플레이어의 번들 이스터 에그 게임인 닷지 랭킹 조작부터 온라인 게임 멀티로더나 메이플스토리 버그 같은 거.
다 메모리 조작으로 하는 거야.
신기하네요.. 저는 치트엔진밖에 안해봤는데 ㅋㅋㅋㅋ