Hex로 보는 scenario.chk 제 5 편
![]()
작성: rpgkdh (rpgkdh@hanmail.net)
작성사이트: http://cafe.daum.net/rpgguild
작성 환경- 브루드워 v1.14
-------------------------------------------------------------
(본 설명서는 헥스로 보는 scenario.chk 제 1편에 연결되는 내용이다.
이 글만으로 이해가 안된다면 제 0,1편을 보길 바란다.)
-------------------------------------------------------------
▶ 최근에 수정한 내용 ◀
(그 이후) 오타 수정
(2021. 03. 25) DD2 내용 추가 - nooks and crannies 에러
(2013. 10. 18) UNIT 프로텍션 내용 추가
(2009. 12. 17) MPQ 프로텍션 내용 추가
(2007. 03. 19) 블리자드에서 사용한 프로텍션 내용 추가
(2006. 08. 10) STR 압축 내용 추가
(2006. 05. 04) 밀리맵 압축 내용 추가
(2006. 04. 19) UNIT, THG2 내용 추가
(2006. 04. 05) hybrid 버전 내용 추가
(2006. 04. 01) TRIG 내용 추가
(2006. 03. 27) MBRF, UNIS, UNIx 내용 추가
(2006. 03. 26) STR, MTXM 내용 추가
(2006. 03. 16) STR, TRIG, MBRF 내용 추가
(2006. 03. 15) OWNR, DIM, TRIG, MBRF, WAV, COLR, MPQ자체 수정법 내용 추가
(2006. 02. 10) 블리자드에서 사용한 프로텍션 내용 추가
(2006. 02. 05) DD2 , UPUS, MRGN, SWNM 내용 추가
(2006. 01. 17) TYPE, VER , IVER, IVE2 내용 추가
(2006. 01. 16) IOWN, ERA , ISOM, TILE 내용 추가
(2006. 01. 15) 글 작성
-------------------------------------------------------------
맵에디터가 요구하는 기본 틀을 벗어나면서, 게임이 요구하는 기본 틀을 벗어나지 않는 범위를 알아내면 프로텍트로 적용할 수 있다.
아래 표에 그 동안 여러 프로텍터에서 사용해 왔던 프로텍트 기술을 수동으로 하는 방법에 대해 적어보기로 하겠다.
필자는 이 글을 쓰면서 아주 간단한 새로운 프로텍트 기술을 여러개 발견하기도 했다.
물론 이 내용도 표에 담을 것이지만, 이 글을 보게 될 여러분들도 새로운 기술을 발견하지 못하리라는 보장은 없다.
만약 우연히 새 기술을 알아내게 된다면, 혼자만 쓰지 말고 모두가 공유할 수 있도록 하자. ^^;
단락의 길이만을 바꾸는 것은 거의 모든 단락에서 통하므로 여기서는 생략했다.
4편을 작성할 때는 내용의 특성상 어쩔 수 없이 프로텍터를 사용하여 알아냈지만,
이번에는 직접 조사하여 알아낸 정보만을 넣기로 하겠다.
프로텍트를 알아야 언프로텍트를 할 수 있기 때문에 이 글을 작성하는 것이 아니라,
언프로텍트를 알고 있는 상태에서 색다른 프로텍트 기술을 알아내기 위함이라 할 수 있다.
여기에 적어올리는 새로운 방법 역시 1편이나 2편에 모두 넣을 예정이며,
이 자료를 토대로 간단한 프로텍터나 아니면 언프로텍터를 만들어보고자 한다.
작성중...
빨강 = 용량을 줄일 수 있는 단락
파랑 = 용량을 늘리는 단락
초록 = 경우에 따라 용량을 줄일 수 있는 단락
밑줄 = 밀리맵 압축을 적용하여 삭제 가능한 단락 (6편 참고)
단락 삭제만으로도 256x256크기의 맵일 경우, 최소 35kb만큼을 줄일 수 있다.
단락 이름 | 바꿀 곳 | 바꿀 내용 | 설명 |
TYPE | 단락 전체 | 등록되지 않은 내용으로 바꾸거나 단락 전체를 삭제하면 된다. | 오리지널 버전일 경우 브루드워 버전으로 변경하면 맵이 깨진다. TYPE, IVER, IVE2 중 어떤 한 단락만 없어도 프로텍트 가능하다. 용량 감소를 위해 우버레이션에서는 모두 삭제하였다. |
VER | 없음 | . | 등록되지 않은 값으로 수정하면, 에디터 상에서 미확인 버전이라며 블리자드에 문의해보라는 창이 뜬다. 당연하게도 게임에서 튕기게 된다. |
IVER | 단락 전체 | 등록되지 않은 내용으로 바꾸거나 단락 전체를 삭제하면 된다. | 오리지널 버전일 경우 브루드워 버전으로 변경하면 맵이 깨진다. TYPE, IVER, IVE2 중 어떤 한 단락만 없어도 프로텍트 가능하다. 용량 감소를 위해 우버레이션에서는 모두 삭제하였다. |
IVE2 | 단락 전체 | 등록되지 않은 내용으로 바꾸거나 단락 전체를 삭제하면 된다. | 오리지널 버전일 경우 브루드워 버전으로 변경하면 맵이 깨진다. TYPE, IVER, IVE2 중 어떤 한 단락만 없어도 프로텍트 가능하다. 용량 감소를 위해 우버레이션에서는 모두 삭제하였다. |
VCOD | 없음 | . | 변경해도 겜에서 튕기지 않는 부분은 StarEdit.exe기반에디터에서 열린다. 삭제하면 맵이 깨진다. |
IOWN | 모든 곳 | 아무렇게나 바꿔도 되고, 단락 전체를 삭제해도 된다. | 바꾸기 어렵지 않기에 많은 프로텍터에서 쓰였다. |
OWNR | 없음 | . | 삭제하거나 잘못된 값을 넣으면 맵이 깨진다. |
ERA | 단락의 내용 | 지형정보의 값과 그 뒤를 변경하면 된다. 지형정보의 값은 일정한 규칙에 따라 수정해야 하나, (1편 ERA참고) 그 뒤의 값은 아무렇게나 수정해도 된다. 예) 0600 -> 0601 또는 AEC8 등 (-_-;;) | 지형정보의 값만 변경하는 프로텍션이 skl과 msp에만 쓰인 이유가 있다. 걸기는 어려우면서 풀기는 쉽기 때문이다. 그러나, 그들도 놓친 게 있다. 지형정보의 값은 특정한 값을 취하지만, 그 뒤는 그렇지 않다. 뒤의 00도 필요한데, 00외의 값으로도 게임은 잘 된다. |
DIM | 맵의 크기 | 기본값이 아닌 값을 넣는다. | StarForge나 SCMDraft에서는 열린다. 기본값이 아닌 맵을 이상없이 열려면 기본값인 맵을 먼저 열어야 되므로 잘 쓰이지 않는다. 또한, 미니맵을 계산하는 기준이니만큼 미니맵도 깨진다. |
SIDE | 없음 | . | 삭제하면 맵이 깨진다. |
MTXM | 단락 나누기 | 여기서는 3개로 나누는 것을 설명한다. 원본의 내용이 ABCDEF라면 첫번째 MTXM = RTYUEF 두번째 MTXM = GHCD 세번째 MTXM = AB | 뒤에 나올 MTXM의 내용의 앞부분부터 읽어들이게 하면 된다. 원본의 앞부분이 나눌때는 뒤로 가게 한다. RTYU, GH는 아무렇게나 넣되, 원본인 ABCD, EF와 길이가 같아야 한다. (단, RTYU, GH등은 제한값을 초과하면 안 된다.) DIM 으로부터 전체 길이를 읽는 곳이면 모두 나누는 것이 가능하다. |
PUNI | . | . | 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
UPGR | 단락전체 | hybrid 버전에서 삭제가능하다. | 다른 버전에서 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
PTEC | 단락전체 | hybrid 버전에서 삭제가능하다. | 다른 버전에서 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
UNIT | 고유번호 스타트로케이션 | StarEdit.exe기반 에디터에서 튕기게 할 수 있다. 스타트로케이션을 쓰는 에디터에서 튕기게 할 수 있다. | SCMDraft나 StarForge에서 열린다. 버전이 바뀜에따라 기본값 이상의 고유번호가 바뀔 수 있고, 튕기지 않던 맵이 튕길 수 있다. 단락 전체를 삭제하면 맵이 깨진다. 스타트로케이션을 담고있는 한 줄(36bytes)을 모두 삭제하면 캠페인에디터에서 튕긴다. 기능확장 맵에디터까지 막으려면 스타트로케이션이 있는 내용부를 FF 등의 값으로 모두 채워버리면 된다. 이론상으로는 스타트로케이션이 없으면 게임 시작이 안 될 것 같으나, 없어도 처음 보게 되는 화면이 왼쪽 위라는 것만 다르고 나머지는 똑같다. 원리는 메모리상에서는 스타트로케이션이 기록되지 않고, 오로지 에디터에서만 쓰기 때문이고, 스타트로케이션이 갖는 의미는 시작하자마자 스타트로케이션이 있던 위치에 CENTER VIEW 트리거를 작동시키는 것과 같기 때문이다. |
ISOM | 모든 곳 | 아무렇게나 바꿔도 되고, 단락 전체를 삭제해도 된다. | 바꾸기 어렵지 않기에 많은 프로텍터에서 쓰였다. |
TILE | 모든 곳 | 아무렇게나 바꿔도 되고, 단락 전체를 삭제해도 된다. | 바꾸기 어렵지 않기에 많은 프로텍터에서 쓰였다. DIM 으로부터 전체 길이를 읽는 곳이면 모두 나누는 것이 가능하다. |
DD2 | 모든 곳 | 원본에서 사용되지 않았을 경우, 단락 전체를 삭제해도 된다. | 바꾸기 어렵지 않기에 많은 프로텍터에서 쓰였다.
'The map could not be loaded because it had too many obstructions. Try widening corridors and reducing the number of small nooks and crannies to correct the problem.' 에러가 뜨면서 맵이 게임에서 안 열리는 문제가 생길 수 있다. |
THG2 | 고유번호 | StarEdit.exe기반 에디터에서 튕기게 할 수 있다. | SCMDraft나 StarForge에서 열린다. 버전이 바뀜에따라 기본값 이상의 고유번호가 바뀔 수 있고, 튕기지 않던 맵이 튕길 수 있다. 삭제하면 튕긴다. |
MASK | 단락 나누기 | . | 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. DIM 으로부터 전체 길이를 읽는 곳이면 모두 나누는 것이 가능하다. |
STR | 로케이션 삭제 단락 나누기 문자열의 위치값 변경 단락 압축 | 로케이션 문자열과 그 위치값을 삭제한다. 문자열과 위치값을 1024개 이상으로 늘릴 수 있다. 쓰지 않는 위치값을 바꿀 수 있다. 단락 전체를 압축할 수 있다. | 로케이션 삭제는 수동복구가 어려운 편이나, SCMDraft에서 자동복구 해준다. 스위치, 코멘트 삭제도 있으나 프로텍트되지 않는다. 쓰지 않는 위치값을 아예 없애면 용량도 줄어들고, 프로텍트도 된다.
[ STR 프로텍트 연습 ]
STR 압축
첨부한 STR압축연습.zip을 다운받고 압축해제한다.
이 STR 단락을 분석해 본다면, 전체 문자열은 1024개,
3. 위치값의 주소 검색
Insert키를 눌러 OVR모드를 켜고 위치값을 수정한다. 실제 문자열의 개수가 2개이므로 0004를 0200으로,
다시 Insert키를 눌러 OVR모드를 끄고 단락길이를 삽입한다.
나온 파일을 자신의 STR압축연습 파일과 Ctrl+K로 비교해보자.
2. 3. 4. |
UPRP | . | . | 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
UPUS | 모든 곳 | 단락 전체를 삭제해도 된다. | 바꾸기 어렵지 않기에 많은 프로텍터에서 쓰였다. |
MRGN | 문자열 부분 | 없는 번호로 바꾸면 된다. | SCMDraft에서는 자동으로 복구해 준다. 단락 전체를 압축하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
TRIG | Run AI Script 부분 트리거 번호 부분 문자열 부분 단락 압축 설정값 | 없는 값을 넣으면 된다. 단락 전체를 압축할 수 있다. | StarForge나 SCMDraft에서는 열린다. 밀리맵으로만 쓸 경우 삭제가능하다. |
MBRF | 트리거 번호 부분 문자열 부분 설정값 | 원본에서 사용되지 않을 경우 삭제할 수 있다. 없는 값을 넣으면 된다. | StarForge나 SCMDraft에서는 열린다. 밀리맵으로만 쓸 경우 삭제가능하다. |
SPRP | . | . | 삭제하면 맵이 깨진다. |
FORC | . | . | 삭제하면 맵이 깨진다. |
WAV | 모든 곳 | 단락 전체를 삭제해도 된다. | 바꾸기 어렵지 않기에 많은 프로텍터에서 쓰였다. |
UNIS | 문자열 부분 | 없는 값을 넣는다. hybrid 버전에서 삭제가능하다. | StarForge나 SCMDraft에서 잘 열린다. 다른 버전에서 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
UPGS | . | hybrid 버전에서 삭제가능하다. | 다른 버전에서 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
TECS | . | hybrid 버전에서 삭제가능하다. | 다른 버전에서 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
SWNM | 모든 곳 | 단락 전체를 삭제해도 된다. | 바꾸기 어렵지 않기에 많은 프로텍터에서 쓰였다. |
COLR | 없음 | . | 캠페인에디터에서 기본값으로 고쳐준다. |
PUPx | . | . | 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
PTEx | . | . | 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
UNIx | 문자열 부분 | 없는 값을 넣는다. | StarForge나 SCMDraft에서 잘 열린다. 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
UPGx | . | . | 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
TECx | . | . | 삭제하면 튕긴다. 밀리맵으로만 쓸 경우 삭제가능하다. |
특정 단락을 수정하지 않으면서 프로텍트하는 방법도 있다.
대표적으로 MPQ형식 파일을 Hex로 수정하는 방법과, MPQ편집 프로그램에서 특정 파일을 숨겨주는 방법이 있다.
물론, 숨겨주는 기능이 있으면 반대로 찾아주는 기능이 있는 MPQ 편집 프로그램도 있다.
1. 블리자드에서 사용한 프로텍션 - 배틀넷상의 블리자드맵 인증 시스템
블리자드맵과 같은 표시가 나게 할 수는 있으나 배틀넷 상에서의 게임은 할 수 없다.
배틀넷 파일을 변경함으로써 혼자서는 할 수 있으나, 다른 플레이어와의 게임은 할 수 없다.
2. 블리자드에서 사용한 프로텍션 - (listfile)의 재삽입
현 버전의 래더맵을 캠페인에디터로 열고 아무 곳이나 수정한 다음, 저장 버튼을 누르면 에디터 오류가 나며 종료됨을 알 수 있다.
이는 (listfile)의 속성이 기본 속성이 아니었기 때문이다.
WinMPQ에서 scenario.chk를 삽입하면 자동으로 (listfile)이 기본 속성인 CEX로 생성된다.
이 생성된 (listfile)을 추출한 다음, 기존의 (listfile)을 목록에서 제거한다.
그러면 파일의 갯수는 2/2에서 1/2로 바뀌는데, 이 상태에서 추출했던 (listfile)을 다시 삽입하면 2/3으로 바뀌고 속성이 C--로 된다.
이 파일을 캠페인 에디터에서 수정하려 하면, 래더맵처럼 오류가 나게 된다.
이것이 블리자드가 사용한, 맵은 열리지만 저장이 안되고 튕기게 만드는 블리자드 인증맵 전용 프로텍션이다.
단순히 맵 파일에 읽기 전용 속성을 부여하여 저장만 잠시 안되게 만드는 것과는 다르다고 볼 수 있다.
풀어내려면, 전체 파일을 추출해도 되고 (listfile)만을 추출하여 다시 CE- 속성으로 삽입하면 된다.
WinMPQ의 경우, Mpq -> Encrypt Files에 체크하고 삽입하면 CE-로 넣을 수 있다.
3. 우버레이션에서 사용한 프로텍션 - (listfile)의 삭제
MPQ압축 파일목록의 정보를 담고 있는 이 (listfile)을 삭제하면 WinMPQ상에서 staredit\scenario.chk라는 경로를 찾을 수 없게 된다.
이를 복구하려면 WinMPQ에 내장된 목록을 사용하지 않고 따로 목록 파일을 읽어오게 하면 된다.
자세한 내용은 4편에서 보도록 하자.
4. MPQ파일 자체를 헥스로 수정
MPQ파일에서 같은 버전, 같은 속성을 담고 있는 맵 파일을 계속 비교해 나가다 보면, 어떤 위치에 있는 값은 고정됨을 알 수 있다.
이 고정된 값은 MPQ파일을 읽어들이는 데 중요한 곳이므로 잘못 건드리면 맵이 깨질 위험이 있다.
또한, 이를 사용해서 WinMPQ만은 막았다 하더라도 수많은 여러 MPQ추출 프로그램에 다 뚫리기에 잘 사용하지 않는다.
5. 단락의 순서가 프로텍트로 이어질 수 있나?
결론부터 얘기하자면, 순서를 바꿔도 StarEdit.exe기반의 맵에디터에서 잘 열린다.
각 프로텍터에서 순서를 바꿨던 이유는 프로텍트가 아니라, 언프로텍트할 사람들에게 혼란을 주기 위해서이다.
scenario.chk를 제대로 알고 있는 사람보다 대충 아는 사람들이 더 많고, 기존의 scenario.chk에서
순서가 달라지면 혼란을 줄 수 있기에 변경한 것이지, 프로텍트 때문은 아니라 할 수 있다.
순서를 일일이 바꿔보지 않아도 영향을 줄지 안 줄지 쉽게 알 수 있다.
SCMDraft에서 scenario.chk의 단락 순서를 바꾸지만, StarEdit.exe기반의 에디터에선 잘 열리기 때문.
그러면 2편에서 왜 순서대로 배치하라 했느냐고 묻는다면,
초보분들이 쉽게 이해할 수 있고 Compare를 통해 원본과 비교하라는 의미였지, 순서대로 해야 읽는다는 뜻은 아니다.
6. 블리자드에서 사용한 프로텍션 - (attributes)를 이용한 읽기 전용 속성
MPQ파일내에 존재하는 (attributes)파일은, MPQ에 삽입된 파일의 경로와 속성 정보를 담고 있다.
(attributes)의 최초 8바이트는 (attributes)파일임을, 그 뒤는 12바이트씩 삽입된 파일의 정보를 나타낸다.
만약 그 내용이 00으로 채워져 있다면, 파일은 삭제되었지만 실제 경로에서는 삭제되지 않았음을 뜻한다.
WinMPQ등에서 파일 수는 2개이지만 실제 파일 수는 3개인, 2/3으로 나오는 것이 그 예이다.
이를 해결하기 위해서는 MPQ에디터의 Compact기능을 사용해야 한다.
Compact기능을 지원하는 MPQ에디터에는 WinMPQ, Ladik's MPQ 등이 있다.
Compact를 쓰고 나면, 삭제된 파일의 실제 경로도 삭제되며, 그 파일이 차지하고 있던 용량도 확보할 수 있게 된다.
작성중...
7. 읽기 전용이 걸린 (attributes) 맵 파일을 수정하는 방법
이전 버전의 래더맵에는 맵은 열리지만 저장하려고 하면 튕기는 현상이 있었다.
그 때는 (attributes)자체가 맵 파일에 적용되지 않고 (listfile)만으로 했던 때였지만,
바로 이전 버전에서는 (attributes)를 이용하여 scenario.chk에 읽기 전용 속성을 부여하는 방법을 썼었다.
이를 해제하는 방법은 매우 간단하다. (attributes)파일을 삭제하고 Compact기능으로 경로까지 없애주면 된다.
삭제하지 않으려면 (attributes)파일 자체를 수정해야 한다.
이 방법은 워크래프트3의 언프로텍팅 과정에 포함되는 것이기도 하다.
작성중...
8. MPQ 구조에 따른 MPQ 자체 수정
아래는 MPQ 형식 파일의 대략적인 구조이다.
(여기서는 [수정된 맵] 자료실의 (1)네모네모디펜스 맵을 예로 들었다.)
4D 50 51 1A = MPQ
20 00 00 00 = 헤더 파일 길이 (처음부터 32번째까지를 뜻함)
3A DA 01 00 = 파일 전체 길이 (처음부터 끝까지의 길이)
00 00 = MPQ 버전 (WoW: BC 이후부터는 01 00 라고 함. - Ladik)
03 00 = 블럭 크기 (기본값 3)
1A 9A 01 00 = 해쉬 테이블 위치 (4개의 00 00 00 00당 1개 해쉬를 뜻함. 보통 chk파일은 5D에 위치하는데, 93번째 해쉬에 chk파일의 경로나 기타 정보를 담게 됨.)
1A DA 01 00 = 블럭 테이블 위치 (4개의 00 00 00 00당 1개 파일을 뜻함. 즉 여기서 실제 파일 개수를 알 수 있음.)
00 04 00 00 = 해쉬 테이블 개수 (기본값은 1024개. MPQ버전이 00 이면 2^16을 넘을 수 없고, 01 이면 2^20을 넘을 수 없다고 함. - Ladik)
02 00 00 00 = 블럭 테이블 개수 (전체 파일 개수. 여기서는 2개지만, 다른 값이어도 MPQ읽는데는 무관한 듯함.)
예전에는 20 00 여기를 고쳐서 캠페인 에디터에서 에러나게 했었고,
cmp에서는 02 00 앞의 00을 10으로 고쳐서 에러나게 함.
MPQ자체를 일부 수정해서 에러나게 만드는 수법은
구멍을 알아내기 어려운 반면에, 깨는 방법이 공개되면 끝장이므로 보통은 잘 사용하지 않는다.
* 테이블 자체를 수정해서 chk추출을 방해할 수 있으나, 이것 역시 절대적인 방어를 뜻하는 것은 아니다.
9.
댓글
댓글 리스트-
작성자~Hex 작성시간 10.01.02 정말 이제 더이상 수정할곳이 없는듯.. 수정을해도 상관없는곳은 맵에디터에서 읽을때 에러가나지 않으니.. (SF/SCMD) smc2만해도 그냥 osmap2 uu2등 언플툴 작동오류만 노렸네요 cmp처럼. scmrec는 안퍼져서 몰랐던듯ㅋ sp3에서도 지금도 이용하지만 언플툴 버그를 이용해야할듯.. smc2에서도 문자열갯수가 좀많은맵 뒤섞어버리면 언프로텍트할때 그냥 팅겨버리던데..(되도 트리거부분이 꼬였는지 SCMD에서 열려도 저장하면 팅기고 SF/SE 에서 열면 그냥 에러뜨더라구요) 이부분을 좀더 봐야겠네요 오만단락 전부 해보는중인데 별이상없으면 에디터에서 열리고 이상있으면 겜이안되고ㅋㅋ
-
작성자~Hex 작성시간 10.02.19 트리거 프로텍트(언프로텍터 버그를 노린겁니다.) - 문자열의 위치값을 integer형 범위를 초과하는 수를 넣으시면 됩니다. 그리고 트리거는 0x2F(코멘트)로 설정하고요. 그러면 smc2 2.6인가 부터는 문자열 로드할때 에러때문에 언프로텍트 누르자마자 팅기고 smc2 2.5는 잘모르겠네요. sp3개발때 작성하다 만건데 좀더 파보시면 smc2도 완벽하게 막을수 있을겁니다. 또는 smc2에서 smc2로 프로텍트를 걸었다를 인식하게 해주면 비번틀리다고 smc2에서 못뚫을겁니다ㅋ 패턴 조금만 비슷하면 smc2로 인식하는 이 거지같은 smc2 패턴감지기 ㅡㅡ;;ㅋ
-
답댓글 작성자~Hex 작성시간 10.02.19 트리거 위치값 프로텍트는 sp3 소스코드에 잠깐 하다 말았을겁니다. 너무 많이 집어넣으면 스타에서 팅기거나 트리거가 꼬입니다. 적당히 집어넣어야합니다.
-
답댓글 작성자rpgkdh 작성자 본인 여부 작성자 작성시간 10.02.19 하하.. 예전부터 패턴감지기는 정말 삽질이었죠. 뭐 하나 달라져도 안 되고 프로텍터들이 비슷해지면서 더더욱..^^; legacyweapon이 공개사이트에 뿌리지 않아서 그런 것인지 아니면 귀찮아진 건지 osmap 이후의 smc부터는 에러가 상당하더라구요. 2.5 실행하시려면 xp쓰셔야 하는데, 만약 지금 7이나 vista이시면 VirtualBox같은 가상pc 설치하시고 그 안에 xp설치하시면 됩니다. 가상pc 통해서 스타크래프트 멀티 플레이도 되고 좋죠. 쓸모없겠지만ㅋ
-
작성자~Hex 작성시간 10.02.19 아마도.. smc2부터는 c++로 짠거같은데요(정확하게 확인해보지는 못했네요) 원래 vb프로그래머이던 레거시웨픈이 c++로 코딩하면서 발코딩한게 좀 많은거 같습니다 적응이 덜되서그런건지 에러도 심한거같구요.. smc2로 sp3로 프로텍트된 언플시험하다가... 갑자기 이 맵의 패스워드가 다르다고 나와서 깝놀;