자격증과 세미나, 프로그램 이야기를 주저없이 써봅니다.

Since 2008. 10.

프로그램 및 파워유저

스타크래프트 핵 감지기 wDetector v3.11

럭키맨 운수 2012. 1. 3. 23:51

 

원순철(http://www.wlauncher.com)님이 제작하신 스타크래프트 핵 감지기 프로그램입니다. wDetector는 wLauncher의 플러그인으로 포함되어 있습니다. 2011년 12월 26일 3.11 버전으로 업데이트 되었습니다. 자료는 첨부파일 클릭하시면 있습니다.

 

기능 및 사용 방법

 

1. 배틀넷 채널에서

- wDetector 채널에 들어갈 수 있습니다.

- 사용자가 설정에서 지정한 채널에 한 번에 이동할 수 있습니다. (F6 키 사용)

- 다른 플레이어가 방을 만들거나 방에 들어갔을 때 따라 들어갈 수 있습니다. (F7, F8 키 사용)

- Latency Change 기능을 사용할 수 있습니다. (방제목 끝에 #L1, #L2, #LL, #L3, #L4, #L5)

- wDetector 사용자끼리만 플레이할 수 있습니다. (방제목 끝에 #W)

- 사이트 광고 방을 필터링합니다.

- 도배되는 채팅 메시지를 필터링합니다.

 

*. 조작법

F2, F3, F4 : wDetector의 제 1채널, 제 2채널, 제 3채널로 이동합니다. (Shift와 함께 누르면 1시간 이전 채널로 이동됩니다.)
F5 : wDetector의 글에 연결된 홈페이지로 이동합니다.
Shift + F5 : wDetector의 다른 글을 볼 수 있습니다.
F6 : wDetector.ini의 MyChannel1에 설정된 채널로 이동합니다. (Shift와 함께 누르면 MyChannel2 채널로 이동됩니다.)
F7 : 방을 따라갈 친구의 아이디를 설정합니다. (채팅창에 따라갈 친구 아이디를 먼저 입력해야 합니다.)
F8 : 친구가 있는 방을 따라갑니다. (친구가 방에 들어갔을 때 누릅니다.)

 

2. 방에서 기다릴 때

- 방에 플레이어들이 들어올 때 /astat 전적 얻기 명령어로인해 배틀넷이 끊기는 것을 방지합니다.

- 플레이어들의 Ping, 재전송 요청 횟수, 런처 사용유무 등을 볼 수 있습니다.

- 맵을 전송할 때 누가 누구에게 보내주고 있는지, 몇 % 받아졌는지를 볼 수 있습니다.

- 방을 새로 만들거나 일명 낚시를 하지 않아도 방을 새로고침할 수 있습니다. (F5 키 사용)

- 메신저에서 오는 쪽지나 대화를 채팅창에 볼 수 있습니다.

- 방에서 누군가 강퇴, 드랍되었을 때 누가 시켰는지 볼 수 있습니다.

- 핵 사용자의 기록을 보여줍니다.

- 이전에 플레이했던 적이 있는 아이디는 플레이 기록을 보여줍니다.

- 상단에 현재 시각을 볼 수 있습니다.

 

*. 조작법

F5 : 자신이 방장일 경우에 방을 새로고침합니다.
Ctrl + 키패드 1~8 : 특정(1~8) 플레이어의 아이디를 복사합니다.
Alt + 키패드 1~8 : 특정(1~8) 플레이어에 대한 기록된 정보를 보여줍니다.

 

3. 게임 플레이중에

- 상대방 핵 사용을 감지 및 방어합니다.

- 상대방 핵 사용이 감지되었을 때 다른 플레이어들에게 알릴 수 있습니다.

- 핵의 특정 기능을 사용하는 플레이어를 그 기능을 이용해 괴롭힐 수 있습니다. (+ 키 사용)

- Oblivion 버전 4.0.4 이상의 핵 사용자를 추출해냅니다. (* 키 사용)

- 자신이 핵을 사용할 경우에 자신과 동맹을 풀어버리거나 게임에서 자신을 드랍시켜버립니다.

- Drop 창이 떴을 때 누군가 Drop 버튼을 누른다면, 버튼을 누가 눌렀는지 메시지가 나옵니다.
(0초도 안 됐는데 Drop이 바로 된다면, Drop 버튼을 누른 플레이어를 핵으로 생각해 볼 수 있습니다.)

- Drop 창이 떴을 때 "-" 키로 Drop 창을 숨길 수 있습니다.
(채팅을 하거나 게임에서 나갈 수 있습니다.)

- Drop 창에서 Drop 버튼이 눌리지 않을 때도 Drop 버튼을 누를 수 있게 해줍니다.
(Ctrl 키를 2초 이상 누르고 있는 상태에서 Drop 버튼을 클릭)

- 플레이어들의 전적, 승률, Ping, 재전송 요청 횟수를 볼 수 있습니다.
(패킷이 전달되지 않아서 재전송을 요구하는 횟수입니다.)

- 플레이어가 수신 거부 중인지 볼 수 있습니다.

- 자신의 APM(현재 / 평균과의 차이)을 볼 수 있습니다.

- 다른 플레이어의 개인 화면을 원격으로 볼 수 있습니다.

- 메신저에서 오는 쪽지나 대화를 채팅창에 볼 수 있습니다.

- 상단에 현재 시각을 볼 수 있습니다.
(Ctrl + T를 누르면 끌 수 있습니다.)

- 게임중 윈도우키가 눌려서 시작 버튼이 눌리는 것을 막습니다.

 

*. 조작법

키패드 0 : 플레이어들의 전적, APM, 핵 사용 목록을 보여줍니다.
키패드 1~8 : 핵을 사용하는 특정(1~8) 플레이어를 다른 플레이어들에게 채팅창으로 알립니다.
키패드 9 : 핵을 사용하는 모든 플레이어들을 다른 플레이어들에게 채팅창으로 알립니다.
키패드 . : 플레이어들의 Ping, 재전송 요청 횟수를 보여줍니다.
Ctrl + 키패드 0 : 플레이어 목록을 리플레이에 기록합니다.
Ctrl + 키패드 1~8 : 특정(1~8) 플레이어의 아이디를 복사합니다.
Alt + 키패드 1~8 : 특정(1~8) 플레이어에게 화면을 보여달라고 요청합니다.
Ctrl + Alt + 키패드 1~8 : 특정(1~8) 플레이어에게 화면을 보여주거나 보여주던 화면을 끕니다.
Ctrl + T : 상단의 시계를 끕니다.
- : 드랍창이 떴을 때 창을 보이거나 숨길 수 있습니다.
+ : 핵 사용자 괴롭히기 기능을 켜거나 끌 수 있습니다.
* : Oblivion 핵 사용자를 추출해냅니다. (누른 후 잠시 동안 컨트롤을 해서는 안 됩니다.)

(wDetector.ini 파일에서 UseFuncKey 옵션을 1로 변경하면 F8, F9, F11, F12 키로도 대신 사용할 수 있습니다.)

 

4. 기타

- 리플레이를 "날짜 시간 아이디.rep"로 자동으로 저장합니다.

- 게임 플레이 때 주고 받은 패킷을 whp 파일로 기록합니다.

- wDetector 플레이어끼리 패킷을 서로 주고 받아서 패킷 검증을 합니다. (일부 Drop 핵 방어용)

 

핵 감지 설명

 

(xx)는 몇 번 감지되었는지 횟수입니다.

 

- AutoMine (xx)
일꾼이 생산되었을 때 자동으로 미네랄을 캐러 가는 핵을 뜻합니다.

- AutoBuild (xx)
게임이 시작될 때 일꾼이나 게임중에 자동으로 유닛이 생산되는 핵을 뜻합니다.

- AutoQueue (xx)
리버의 스캐럽이나 캐리어의 인터셉터가 1개씩 자동으로 생산되는 핵을 뜻합니다.

- MultiCommand (xx)
12마리가 넘는 유닛들이나 여러 건물들을 한꺼번에 지정해서 컨트롤하는 핵을 뜻입니다.

- Drop (xx)
나에게만 다른 플레이어들과 다른 패킷을 보내서 드랍당하게 되는 핵을 뜻합니다. (Pause Drop 포함)

- Cheat (xx)
핵을 사용하는 플레이어에게서만 발생하는 패킷이 감지되었음을 뜻합니다.

- Packet Deceive (xx)
조작된 패킷을 보내서 핵을 오감지하도록 만드는 핵을 뜻합니다.

- Rally Change (xx)
상대방의 건물의 랠리 포인트를 변경시키는 핵을 뜻합니다.

- Nuclear (xx)
뉴클리어를 멀리서 쏘는 핵을 뜻합니다.
(뉴클리어가 개발되어 있지 않더라도 뉴클리어 핵 패킷이 감지되면 초반에도 감지되었다고 뜰 수 있습니다)

- Annoy (xx)
Network Latency를 계속 바꿔서 화면에 글씨 때문에 게임 플레이를 힘들게 하는 핵을 뜻합니다.

- Crash (xx)
캐리어의 인터셉터나 리버의 스캐럽을 이용하여 스타크래프트를 오류내는 핵을 뜻합니다.

- ID Spoof (xx)
자신의 아이디를 숨기고 다른 존재하지 않는 아이디로 보여지는 핵을 뜻합니다.

- Fake wDetector (xx)
wDetector를 사칭하는 가짜 핵감지기 핵을 뜻합니다.

- Host
방장이 아닌데도 다른 플레이어를 방에서 강퇴시킬 수 있는 핵을 뜻합니다.

- Astat Flood
방에 있는 플레이어들에게 중복된 Join 패킷을 보내서 Astat 명령으로 인해 배틀넷에서 튕기게 만드는 핵을 뜻합니다.

- NoGrouping
부대 지정을 사용하지 않고 있다는 뜻입니다.
핵이 감지된 것은 아니지만 게임이 끝날 때까지도 부대 지정을 한 번도 사용하지 않는다면, 엄청난 허접이거나 핵으로 의심해볼 수 있습니다.

 

※ 주 의 (AutoBuild, AutoQueue, MultiCommand에 관하여)

 

게임중 랙이 걸려서 멈춰 있는 순간에 유닛을 마구 생산하거나 컨트롤하면 핵으로 잘못 감지될 때가 있습니다. 핵이 감지되었다고 해서 무조건 다른 플레이어를 비방하지 마시고 반드시 사용자의 적절한 상황 판단(핵 감지 횟수 등)으로 핵 사용 여부를 판단하시기 바랍니다.

 

고급 설명

 

- 100% 확실한 핵 사용자
확실한 핵 사용자는 0번을 눌렀을 때 나오는 플레이어 목록에 100%라는 표시가 됩니다.
AutoMine, AutoBuild, Drop, Cheat, Annoy, Crash는 1회만 감지되어도 100%가 표시되며, MultiCommand는 10회 이상 감지되어야 100%로 표시됩니다.

 

- 멀티커맨드 감지 조건
멀티커맨드의 감지 조건은 NoGrouping일 때와 아닐 때가 다릅니다.
부대 지정을 사용하지 않을 때가 멀티커맨드로 감지될 조건이 더 약하기 때문에 감지될 확률이 더 높습니다.
부대 지정을 사용하지 않는 사용자라 할지라도 단 한 번이라도 부대 지정을 눌러줘서 NoGrouping을 없애는 것이 오감지를 피할 수 있습니다.

 

- wDetector 2.00 이상 사용자들끼리 패킷 검증
드랍핵을 방어하기 위해서 구현된 기능입니다.
wDetector를 사용하는 플레이어들끼리는 다른 플레이어가 준 패킷을 서로 주고 받아서 검증을 하도록 되어 있습니다.
그렇다고 해서 이것으로 100% 모든 드랍 핵을 감지하고 방어할 수 있는 것은 아닙니다.
드랍 핵 사용자가 2명 이상의 wDetector 사용자들에게 드랍을 쓴다면, 검증을 해도 드랍이 되게 됩니다.
한 방에서 wDetector 사용자가 많을 수록 검증할 길이 많기 때문에 좋습니다.
wDetector 사용자가 자기 혼자라면 패킷 검증 없이 플레이하게 됩니다.
이 패킷 검증 방법은 네트워크의 트래픽이 증가하고, wDetector 사용자끼리 만약 네트워크가 상태가 좋지 않다면 랙이 발생할 수 있습니다.
패킷 검증은 wDetector.ini에서 VerifyPacket 옵션을 끄면 자신은 검증하지 않게 됩니다.

 

- 재전송 요청 횟수
재전송 3:50 이라고 나온다면 3번 플레이어에게 재전송 요청을 50번 보냈다는 뜻입니다.
이것은 3번 플레이어의 패킷이 오지 않아서 재전송을 요청한 횟수가 50번이라는 뜻입니다.
한쪽에서 다른 한쪽으로 일방적으로 재전송 요청을 하는 것은 횟수가 높아도 상관 없지만, 두 플레이어간에 서로의 재전송 요청 횟수가 높으면 게임중에 랙이 발생합니다.

 

- whois 명령어 확인 기능
whois 명령어 확인 기능은 정식 배틀넷에서만 동작합니다.
프리 배틀넷 사용자는 wDetector.ini에서 CheckWhois 옵션을 끄고 사용하시기 바랍니다.

 

- 호스트 핵 판단
방에서 기다릴 때 방장이 누구를 강퇴하거나, 방장이 아닌 플레이어가 누군가를 방에서 드랍시킬 때 메시지가 나옵니다.
방장이 아닌 플레이어가 누군가를 방에서 드랍시켰다고 해서 무조건 호스트 핵은 아닙니다.
실제로 네트워크 통신이 좋지 않아서 드랍이 되거나, 슬롯이 닫혀서 플레이어가 들어오지 못하고 드랍되는 경우도 있습니다.
방에 없는 플레이어 아이디가 강퇴되었다고 나오는 것은 방에 들어오자마자 슬롯이 닫혀서 강퇴를 당한 플레이어입니다.
반드시 메시지가 뜰 때의 상황을 고려하여 호스트 핵인지 아닌지를 판단하시기 바랍니다.
예를 들면, 팀플방에서 "친구 있어요"라고 말하면서 그 플레이어가 누군가를 드랍시켰다고 뜬다면 확실하다고 볼 수 있습니다.

 

- APM 표시 "현재(현재와 평균과의 차이) APM"
현재 APM은 최근 10초 동안의 APM을 계산한 것이고, 현재와 평균과의 차이는 평균보다 현재가 빠르면 양수(빨간색)로, 느리면 음수(파란색)로 표시됩니다.

 

- 배틀넷 채팅 메시지 필터링
메시지 길이 필터링은 wDetector.ini에 기본값으로 80으로 되어 있습니다.
80보다 긴 메시지를 수신할 경우 필터링 되므로 사용자가 직접 조절하거나 0으로 기능을 끌 수 있습니다.
중복 메시지 필터링은 메시지를 보낸 아이디가 달라도 같은 메시지이면 필터링이 됩니다.

 

- 방 새로고침
새로고침이라는 건 정확히 말하면 방을 나가지 않고도 방을 나갔다가 다시 같은 제목으로 방을 만드는 것을 말합니다.
(물론 방에 있는 플레이어들은 그대로 있습니다)
방에 사람들이 안 들어온다고 해서 방을 나갔다가 새로 만들거나, 방의 상태 변화를 유도하는 일명 낚시질을 하지 않아도 됩니다.
(사실 낚시를 할 때 플레이어가 직접 나가지 않고 남은 Open을 모두 Close시켰다가 다시 Open시켜도 같은 효과가 나옵니다)
방의 상태 변화가 있을 경우에 5초 이내에는 다시 사용할 수 없으며, 횟수에도 제한이 있습니다.
방에 암호가 걸려 있거나 방이 꽉 찼거나 방장이 아닌 경우에는 사용할 수 없습니다.

- 핵 사용자 괴롭히기 기능
핵 사용자 괴롭히기 기능은 핵 사용자만이 볼 수 있는 맵 Ping과 Allied Victory 메시지를 이용한 기능입니다.
동맹군인 아닌 적군의 경우에는 상대방의 맵 Ping을 볼 수가 없는데 특정 핵은 볼 수 있게 해주는데, 바로 이것을 활용하여 적군에게 맵 Ping을 계속해서 보내서 미니맵이 보이지 않게 괴롭히는 것입니다. (핵을 쓰지 않는 적군은 보이지 않습니다.)
Allied Victory의 경우도 마찬가지로 핵을 사용할 경우에는 Allied Victory가 변경된 것을 메시지로 보여주는데, 계속해서 Allied Victory를 변경하여 핵 사용자를 괴롭히는 것입니다.
네트워크 상태가 좋지 않아서 적군에게 보낸 패킷이 동맹군에게 다시 보내졌을 경우에는 동맹군이 그 맵 Ping을 보게 되므로 동맹군에게서 맵 Ping이 계속 보인다면 이 기능을 끄시기 바랍니다.
Allied Victory의 기능도 자신의 유닛의 공격 명령이 계속해서 풀리는 현상이 있으므로 필요할 때만 켜서 사용하시기 바랍니다.

 

- wDetector 사용자끼리만 플레이하는 방법
방제목 끝에 #W를 붙여서 방을 만들면 wDetector 사용자만 방에 들어올 수 있습니다.
wDetector 2.20 이상부터 가능합니다. Latency Change와 같이 사용하려면 방제목 끝에 #W#L2 와 같은 순서로 붙여주면 됩니다.
- 한글 윈도우가 아닌 윈도우 지원
한글 윈도우가 아닌 윈도우에서 wDetector를 사용하려면 게임 방 대기실에서나 게임을 시작한 후에 "나는 한국인"을 치면 잠금 장치가 풀립니다. 따라서 "나는 한국인"을 치려면 한글 윈도우가 아니더라도 한글 타이핑은 가능해야 합니다.
"나는 한국인"이라는 메시지는 다른 플레이어들에게 전송되지 않습니다.

 

- 상대방 화면 보기 기능
Alt + 키패드 1~8로 상대방에게 화면을 보여달라고 요청할 수 있습니다.
상대가 Ctrl + Alt + 키패드 1~8로 요청을 수락할 수 있습니다.
화면이 보여지기 시작하면 보고 있는 사람은 ESC키로 화면을 끄거나, 화면을 보여주고 있는 사람은 다시 Ctrl + Alt + 키패드 1~8로 화면을 보여주지 않을 수 있습니다.
화면보기 기능은 TCP 연결을 사용하며 두 플레이어가 모두 NAT 공유기 환경에 있다면 연결이 되지 않을 수도 있습니다. 그러나 TCP 홀펀칭 기술을 적용했기 때문에 둘 외에 다른 플레이어가 공유기가 아닌 공용 IP로 있다면 두 플레이어 간에 연결이 가능할 수도 있습니다.

- EUD 맵 플레이 가능
2.50 버전부터는 Extended Unit Death 트리거가 적용된 맵 플레이가 가능합니다.
EUD 맵은 스타크래프트 메모리의 코드 부분을 수정시켜야만 동작이 가능한데, 코드 부분을 수정시키는 것은 배틀넷에서 BAN 당할 위험이 있으므로 반드시 위험을 감수하고도 플레이 하기를 원하시는 분만 사용하시기 바랍니다.
방 제목에 eud라는 단어가 들어가고, Use Map Settings일 경우에만 EUD 메모리 코드 패치가 일어나며 게임이 끝나고 나오게 되면 코드를 원상 복구하여 최대한 BAN의 위험도를 낮추었습니다.

 

수정 내용

 

- 채팅 로그 중복으로 기록되는 것 수정

- 게임 속도 패치 타임 변경 (#X, #S)

- 패킷 검증 기능 수정 (45분 정도 넘어가면 드랍되는 것)

wLauncherSetup2.exe
0.25MB