C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[10282] Re:스핵 이거 막을 방법이 전혀 없는 겁니까??
유영인 Cuperido [] 3581 읽음    2004-12-20 15:34
스핵.. 충분히 맘만 먹으면 막을 수 있습니다.

원리는 컴퓨터 시간을 결정하는 Tick이 움직이는 주기가 있고, 이 Tick에 따라서 이벤트 틱 (설명하기 쉽도록) 이 한번씩 발생되는데, 이 Tick의 시간을 설정하거나, 혹은 이벤트 틱의 주기를 높게 만드는 (요즘 나오는 SpeederXP) 원리의 프로그램 입니다.

단순히 클라이언트상의 비교만으로는 체크하기 어렵지만, 서버와 동기화 한다면 충분히 가능합니다.

첫번째로, 서버에서 가는 시간과 클라이언트상에서 간 시간 (GetTickCount) 을 비교해서 클라이언트가 이상하게 빠른지 검사합니다. 일례로 클라이언트에서 10000ms 마다 신호를 서버로 보내주게 해서, 서버에서는 이 신호 Interval이 약 10초가 아닌 좀 빨리 들어왔을때의 카운트를 세서, 세번의 연속 카운트가 들어가면 에러를 발생하면 됩니다.

두번째로, 요즘 돌아다니는 XP의 경우, Time Tick에는 영향을 미치지 않고 GetTickCount 에 해당하는 클럭만 손대므로, 실질적인 GetDateTime 등에서 나오는 시간과, GetTickCount에서 나오는 시간을 비교함으로, GetTickCount가 이상하게 빠르다는 것을 감지할 수 있습니다.

세번째로, 스피드핵을 다시 끄면 (끈다기보다 속도를 조절하면), 내부적으로 계산된 원래 시간, GetTickCount 로 돌아오므로, 서버로 전송된 GetTickCount가 다시 급격하게 돌아가면 에러를 발생하시면 됩니다.

다만 유의하실점은, GetTickCount가 애슬론 계열의 CPU에서 비교할 시 약간의 오차가 있으며 (이건 정확히 무슨 오차인지는 모르겠습니다. 저도 아는 분이 경험했다고 들은거라 ^^) 또 두번째 방법으로는 요즘 XP에서 자동으로 인터넷 시간으로 동기화 시켜주는 기능이 있어서 시간이 갑자기 틀려지는 경우도 있으므로, 횟수의 여분을 제공해야 하며, GetTickCount가 정확한 Tick시간이 아닌 컴퓨터마다 약간의 오차를 발생하므로 (하루 컴퓨터를 켜 놓으면 컴퓨터에 따라 약 10분 정도 차이) 누적 계산이 아닌, 실질적 타임마다 계산을 해서 오차는 버리는 그러한 방식을 택하시는 것이 좋으실 것 같습니다.

이러한 방법은 아니더라도 스핵 종류가 많지 않으니, 올라온 DLL이나 EXE만 검사해도 충분히 많이 걸러낼 수 있을것이라고 봅니다. :)


cuperido


이재훈 님이 쓰신 글 :
: 여기에 이렇게 글을 올려서 죄송하구요
: 너무 답답해서 이렇게 글을 올립니다.
: 스핵 이거 정말 막을 방법이 없는 겁니까? 스핵에 대해서 프로그래머님들에 정확한 답을 듣고 싶습니다.
: 스핵이란 어떤 것인지.. 그 원리는 어떤 것인지.. 그리고 이것을 막을 방법은 어떤것인지..
: 스핵 이거 막지 못한다면 더이상 온라인 겜 못할거 같습니다. 온라인 게임 1위 한국 스핵으로 멍들다ㅠ.ㅠ
: 프로그래머님들의 확실한 설명을 듣고 싶습니다.
:
:
: 요즘 들어 바람도 많이 불고 하는데 감기 조심하세요.
검은바람 [das011]   2004-12-20 17:07 X
답변 감사합니다. 그리고 스핵을 쓰면 데탑컴에 어떠한 영향을 미치는지요..??ㅠ.ㅠ
김윤동.제라툴 [zeratul]   2004-12-23 15:20 X
그냥 생각 한건데 ㅜ.ㅜ

RDTSC를 이용해서 나만의 Tick Count를 만들어 보는 것도 괜찮을 방법일듯 ..

RDTSC를 CPU 클럭으로 나누면 대략 실시간이 나오니까 가능할 것도 같습니다.

물론 노트북 같이 지멋대로 절전모드로 바뀌어 버리면 대략 낭패가 닥칠 수있지만 -_-

그냥 잡생각 입니다 .^ ^ 전 대략 막는 쪽이 아니다 보니 ㅎㅎ -_-

From Zeratul
검은바람 [das011]   2004-12-25 12:44 X
데스크 탑쪽에서 막을수 있었으면 얼마나 좋을까..
스타 맵핵 방지 프로그램도 있다고 하던데.. 아. ..이럴줄 알면 공부 좀 하는건데..ㅠ.ㅠ

+ -

관련 글 리스트
10280 스핵 이거 막을 방법이 전혀 없는 겁니까?? 이재훈 2350 2004/12/20
10282     Re:스핵 이거 막을 방법이 전혀 없는 겁니까?? 유영인 Cuperido 3581 2004/12/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.