메모리 수정 치트를 방지하려면 어떻게해야합니까?


10

요즘에는 많은 메모리 변경 프로그램이 있습니다 ( Cheat Engine & co). 상수 변수를 실제로 일정 하게 유지하는 효율적인 방법이 있습니까?

두 가지 아이디어가있었습니다.

  1. 상수 변수를 상수 값으로 업데이트하는 별도의 스레드를 만듭니다 (예 : 1 분마다 200). 문제 : 두 번째 값을 변경할 수도 있습니다.
  2. 서버에 값을 저장하십시오. 문제점 : 네트워크 트래픽을 가능한 한 낮게 유지하고 싶습니다.

상수와 변수 모두 특정 범위의 값만 포함하도록 허용하려면이 메커니즘이 필요합니다.

더 좋은 방법이 있습니까?


1
둘 다 작동하지 않습니다. 상황 1에서 사기꾼은 단순히 복사하는 값 '200'을 덮어 써야하며 원본을 덮어 쓰는 것보다 어렵지 않습니다. 상황 2에서, 사기꾼은 이제 네트워크에서 수신 된 바이트 (예 : 로컬 프록시)를 변경하여 프로그램을 변경하지 않고도 값을 변경할 수 있습니다.
Jimmy

6
해커가 비활성화 할 수없는 치트 보호 기능을 아직 보지 못했습니다. 사기꾼에 대한 성전에서 합법적 인 사용자에게 게임을 악몽으로 만들지 않도록하십시오. :)

1
관련 ; 더 구체적이지만 그렇지 않으면 동일합니다.
Anko

1
대부분의 게임에는 "트레이너"가 있습니다. 내 말은, 지옥, 심지어 매스 이펙트 : 안드로메다는 트레이너를 가지고 있으며 일주일이 조금 넘었습니다. 걱정 마세요 주요 게임 회사가 이것을 피할 수 없다면, 기회가 있다고 생각하는 이유는 무엇입니까?
Krythic

답변:


21

게임이 싱글 플레이어 인 경우 : 불가능하지만 신경 쓰지 않아야합니다 .

게임이 멀티 플레이어 인 경우 : 중요한 모든 상태를 서버에 저장해야합니다. 로컬 컴퓨터보다 해킹하기가 훨씬 어렵습니다.


4
신뢰할 수있는 서버를 만들고 클라이언트 측의 상태 만 예측하여 멀티 플레이어 사기를 방지하는 것은 매우 쉽습니다. 기본적으로 "I x손상을 입히지 않았습니다"가 아닌 클라이언트에서 서버로 플레이어 입력을 보냅니다 y.
jmegaffin

사실 @BorealGames는 "서버에 모든 중요한 상태를 저장합니다"라는 의미입니다.
jcora

조금만 설명하고 싶었습니다 :)
jmegaffin

11

그것은 할 수없는 , https://security.stackexchange.com/a/4639 DRM에 대해이지만, 같은 사용자가 안티 치트 메커니즘을 포함하여 자신의 컴퓨터에 원치 않는 무엇에 적용됩니다. (DRM보다 수행하기가 더 어려운 경향이 있습니다.)

그러나 왜 당신은, 왜 당신은 하시겠습니까? 고객의 컴퓨터가 아니라 고객이 원하는 컴퓨터를 사용하여 컴퓨터를 사용합니다. 당신은 그것에 대해 권리가 없습니다. 고객이 마음에 들지 않으면 프로그램이 제거됩니다.

멀티 플레이어 게임의 경우 바이너리를 디자인하는 것이 아니라 커뮤니케이션을 디자인하는 것입니다. 사용자가 "20000 포인트로 이겼습니다"라고 보내 도 작동하지 않으며 "I 've 2000 Gold" 도 작동하지 않습니다 . 게임을 직접 시뮬레이트하고 플레이어가 "병사에게 X / Y로 이동하도록 명령 했음" 또는 "아이템 번호 43을 구입했습니다" 와 같이 자신이하고있는 일을 보내도록해야합니다. 합니다. 행동입니다. 서버는 결과가 무엇인지, 누가 이겼는지 결정합니다.

온라인 최고 점수를 획득 한 싱글 플레이어 게임 인 경우 플레이어에게 리플레이를 보내도록 시뮬레이션하고 결과를 결정하는 옵션이 있습니다.


11
작은 수정 제안 : 고객이 '상품 번호 43을 구매했습니다'대신 '상품 번호 43을 구매하고 싶습니다'를 보내면 안됩니다. 그런 다음 서버는 "OK, 200 GP를 잃으면 하나의 아이템 43을 얻습니다", "아니요, 금이 충분하지 않습니다"또는 "아니요, 현재 탐색중인 상점에 아이템 번호 43이 없습니다"라고 대답해야합니다. 서버는 pen & paper RPG의 게임 마스터처럼 행동해야합니다. 플레이어는 그들이 무슨 말을 하고자 할, 그리고 그들이 성공하면 서버를 알려줍니다.
Philipp

또한 개인용 컴퓨터의 사용 중 메모리를 변경하는 것은 확실하지 않지만 게임 자체의 바이너리 (컴퓨터에있는 경우에도 해당)를 변경하는 것은 일반적으로 EULA에 위배되며 저작권법 등에서 추가로 정의 될 수 있습니다.
lozzajp

Jaywalking과 같은 디지털 제품인 EULA를 위반하는 것이 누구도 막지 못했습니다.
jkmartindale

3

첫 번째는 효과적이지 않으며 결정된 사람이 게임을 공격하는 것을 막지 않으며 오류가 발생하기 쉽습니다. 그러나 원하는 경우 전체 증거가 아닌 훨씬 더 강하게 만들 수 있습니다 . 몇 가지 일반적인 전략은 웹 전체에서 사용할 수 있지만 다른 사람들이 언급했듯이 가치가 있는지 스스로에게 물어보십시오.

인수를 위해 단일 플레이어 환경에서 해킹을 방지하는 몇 가지 방법이 있습니다.

  1. 사용자 시스템의 다른 모든 프로세스 (침습적이며 휴대용이 아닌)에 대한 핸들을 열고 더미 기능이나 경고로 WriteProcessMemory 를 덮어 씁니다 . 선택은 당신입니다. 응용 프로그램이 동일한 작업을 수행하고 핸들을 다시 한 번 덮어 쓰거나이를 방지하기위한 작업을 수행 하기 때문에이 문제를 해결할 수 있습니다 .
  2. 응용 프로그램을 체크섬하고 해킹 쉴드를 통해 자체적으로 확인하도록합니다. 이것은 응용 프로그램을 영구적으로 많이 편집하는 데 유용하지만 일반적인 메모리 공격을 중지하지는 않습니다. 이것은 ... 때문에 패배 할 수 ADA, 올리 디버그 같은 도구를, 심지어 간단한 진수 편집이 잘못된 코드를 제거하는 응용 프로그램에 영구적 인 패치 및 변경할 수 있습니다 -이 당신의 스레드 타이머 아이디어를 포함!
  3. 알려진 핵 도구를 스캔하십시오. 도구를 다시 컴파일하거나 클라이언트를 직접 공격하면이 문제를 해결할 수 있습니다. 이는 재 컴파일, 응용 프로그램 이름 변경 또는 휴리스틱으로 스캐너가 사용하는 방식의 변경으로 인해이 기능이 쓸모 없어 지기 때문에 실패 할 수 있습니다 . 이것을 선택하면 응용 프로그램이 사용하는 것으로 알려진 메모리의 특수한 부분을 사용하십시오.

물론 대안은 서버에 모든 것을 저장하고 마스터 인 게임 서버를 만드는 것입니다. 이 비용은 비싸고 유지가 필요하며 개발 시간이 늘어날뿐만 아니라 Diablo III 와 같은 인기있는 게임을 구현 한 팬들에게는 큰 인상을받지 않습니다 . 아니면 여기 Adventure Quest 와 같은 온라인 플래시 RPG에 주목해야합니다. 이 모델이 실제로 잘 작동하고 있습니다.

이 유형의 접근 방식은 매우 광범위하고 광범위하며 많은 계획이 필요하므로 구현 방법에 대한 많은 지침을 제공 할 수 없습니다. 알아야 할 기초는 서버가 모든 것을 결정하고 클라이언트는 단순한 입력 및 디스플레이 콘솔에 지나지 않는다는 것입니다.


3

많은 사람들이 이러한 프로그램을 사용하여 변수에 저장된 점수를 검색합니다. 예 :

int score = 10;

이를 위해 그들은 게임에 표시된 점수로부터 미국의 점수를 알아야합니다.

나는 이것이 도움이 될 것이라고 생각했다.

public static float randomVal; // at start of level generate random float

private float 1a3sf5vhh4; //represents score

void hjgkkj4(int val) //add score method
{
   var 5vhh4 =  1a3sf5vhh4/randomVal+val;
   1a3sf5vhh4 =  5vhh4*randomVal;
}

그런 다음 점수를 표시해야 할 때 ...

string displayScore = ""+ 1a3sf5vhh4/randomVal;

이렇게하면 사기꾼이 점수 (표시되는 점수)라고 생각하는 것을 검색하므로 표시된 값만 찾을 수 있습니다.

실제 점수는 다른 곳에 저장된 Score * randomVal입니다. 표시된 값을 변경하여 점수를 변경할 수 없습니다.

도움이 될까요?

추신 : 나는 전문가가 아니므로 lol 쉽게 가져 가라.


방금이 비디오를 발견하고 흥미로운 점을 만들었습니다 ... youtube.com/watch?v=G25YhoE04Xc
Raimi

치트 툴도 그러한 것을 감지하도록 구성 할 수 있습니다. 추적하는 데 시간이 더 걸립니다.
Kromster

그러나 소규모 오프라인 싱글 플레이어 게임의 경우 이와 같은 것이 괜찮은 해결책입니까? 적어도 몇 개의 앱을 중단시킬 수있을 것 같습니다
Raimi

예, EffortSpent와 ProtectionAchieved의 경우입니다. 두 번째 부분은 절대 100 %에 도달 할 수 없습니다.
Kromster

1
소스 코드의 임의 이름은 적어도 대부분의 경우 도움이되지 않습니다. 프로그램은 보통 IL / 바이트 코드로 컴파일되거나 바이너리로 직접 컴파일됩니다.
lozzajp

2

싱글 플레이어 게임의 경우 , 부정 행위를 막을 수 없으며 그렇게 해서는 안됩니다 .


내 게임에서 부정 행위를 방지 할 수없는 이유는 무엇입니까?

다른 답변에서 지적했듯이 최선의 노력조차도 단일 해커가 우회하여 잠재적으로 나머지 플레이어에게 제공 할 수 있습니다. 당신은 여전히 ​​이것에 대해 노력할 수 있지만 , 방법에 대한 제안은 다른 답변을 찾으십시오 . 이 답변은 게임에서 싱글 플레이어 게임 플레이만을 제공하는 경우 문제를 해결하는 것을 의미합니다.

왜 싱글 플레이어 게임에서 플레이어가 부정 행위를하도록해야합니까?

을 인용하자면 ,

멋진 게임을 만드는 데 더 많은 시간을 보내고, 모론이 자신의 재미를 망치는 것을 방지하는 데 걸리는 시간을 줄입니다.

이것은 요점을 완전히 그리워한다 . 게임은 오락의 한 형태입니다 . 일반적으로 플레이어 층은 재미있게 게임을하고 있습니다 . 플레이어가 게임에서 치트를 사용하는 경우 치트를 사용하는 이유 가 있습니다. 각 개인의 재미에 대한 정의를 보장 할 수 없다고 가정하는 것이 안전합니다. 만약 그들이 치트 를 사용한다면 아마도 게임을 더 즐겁게 만드는 방법 일 것입니다.

부정 행위는 게임을 더 즐겁게 만드는 방법은 무엇입니까?

모든 개인이 독특하지만 치트가 게임을 더 즐겁게 해줄 수있는 몇 가지 조건이 있습니다.

  • 게임은 약간 느리며, 플레이어는 치트를 사용하여 연기가 완전히 나기 전에 행동을 취하기를 원합니다.
  • 플레이어는 특정 도전을 지나칠 수 없습니다. 그들은 보통 속임수를 쓰지 않지만 좌절감에 가까운 상태입니다. 그들은 게임을 중단하거나 치트를 사용하여 장애물을 우회하여 게임의 후반전을 계속할 수 있습니다.
  • 플레이어는 게임이 의도 한 경험에 필요한 시간을 할애 할 수 없습니다. 치트를 적용하면 사용자는 "실행 시작"을 받고 게임의 의도 된 내용을 즐길 수 있습니다. 이것이 타당하지 않다고 생각되면 이것이 개인적으로 Fallout 4를 거의 플레이하지 않은 이유라고 생각하십시오. 비교하면, 지난 5 년 동안 내가 미리 주문한 유일한 게임이고 내가 주문한 유일한 게임입니다. 둘 이상의 플랫폼에 구매했습니다. 나는 게임을 좋아한다. 그럴 시간이 없어
  • 게임에 버그 가 있으며 이로 인해 플레이어가 더 이상 진행되지 않습니다. 치트는 버그를 우회하므로 플레이어는 계속 플레이 할 수 있습니다. 최근의 Elder Scrolls 게임은이 상황으로 유명합니다 .

왜 이것이 싱글 플레이어 게임에만 적용됩니까?

싱글 플레이어 게임 에서만 작동한다는 점을 강조하는 것이 중요합니다 . 플레이어가 치트를 사용하여 게임에서 더 재미있게 놀고 싶다고 말하면 아무런 해가 없습니다. 게임에 여러 명의 플레이어가있는 즉시 해당 첫 번째 플레이어의 악용은 다른 플레이어에게 불공평 한 단점이 될 수 있습니다. 이것은 당신 부정 행위를 허용 해서는 안되는 실제 상황 입니다.


0

메모리 핵 도구는 무엇을합니까?

핵 도구를 조작하는 방법은 두 가지가 있습니다.

  1. 플레이어의 변수가 저장된 알려진 주소를 받아들입니다.
  2. 변수의 변경 사항을 입력하고 변경 사항을 메모리에서 검색합니다.

그것에 대해 무엇을 할 수 있습니까?

  1. 동적으로 할당 된 변수를 사용하여 플레이어 변수를 저장하여 시작시 주소가 계속 변경되도록 할 수 있습니다. 치트 웹 사이트가 나열 할 수있는 고정 주소는 없습니다.

  2. 플레이어 변수 암호화 : 값 스케일링, 상수 추가 등 새로운 문제가 발생합니다. 하드 코어 해커가 프로그램을 분해하고 플레이어 변수를 암호화하는 데 사용하는 숫자를 찾을 수 있습니다. 이를 위해 난수를 사용하십시오. 또한 플레이어 변수의 값을 스케일 업한 다음 추가 된 숫자가 값을 크게 변경하지 않도록 임의의 숫자를 추가 할 수 있습니다 (2000의 스케일 업 값에 10 또는 20을 더해도 큰 차이는 없습니다).

물론, 일부 심각한 해커는 여전히 이러한 장애물을 극복 할 수있는 방법을 찾을 수 있지만 쉽지는 않습니다.

  std::default_random_engine myRNG;
  std::uniform_int_distribution<int> myDist_padding(10,100);
  class Player
  {
      public:
          Player()
          {
              Health = new float;
              Armor = new float;

              std::uniform_int_distribution<int> myDist_scale(1000,10000);
              scale = myDist_scale(myRNG);
          }
          float GetPlayerHealth() const;
          void SetPlayerHealth(float health);
      private:
          float *Health;
          float *Armor;
          int scale, constant;
  }

  //wrappers for Set/GetPlayerHealth
  void Player::SetPlayerHealth(float health)
  { 
      this->Health = health * scale + constant + myDist_padding(myRNG);     //random padding; adding 10 or 100 to a number that is scaled up by 1000 will cause an increase in 1%
      //1% of error is ok I guess?
  }
  int Player::GetPlayerHealth() const
  {
      return (this->Health - constant)/scale;
  }

위의 코드는 몇 가지 심각한 문제를 해결하지만 여전히 깨지기 쉽습니다. 해커에게 필요한 유일한 정보는 플레이어 변수가 포인터를 통해 액세스된다는 것입니다 (게임을 해체해도 알 수 있지만 성 가시고 힘들 것입니다). 해커가 다른 무작위 변수와 함께 플레이어 변수에 대한 주소를 가지면 치트를 개발하는 것은 쉬운 일이 될 것입니다.

내 의견으로는, 해체하지 않으면, 그러한 시스템을위한 해킹 툴을 실제로 작성할 수는 없다. 플레이어 변수가 수정 될 때마다 무작위 변수를 플레이어 변수에 추가 할 때 결과를 예측할 수 없습니다. 플레이어 변수가 저장되는 범위는 모든 시작에서 동일하지 않습니다.

당신은 무엇을 더 할 수 있습니까?

때때로 플레이어 변수의 주소를 변경하십시오. 코드의 가독성을 방해합니까? 글쎄, 그것은 어느 정도까지 수행하지만 잘 설명 된 주석이있는 단일 클래스로 전체 프로세스를 추상화 할 수 있습니다. 클래스가 제공하는 인터페이스에는 간단한 Set / Get 함수가 있습니다. 프론트 엔드 프로그래머는 근본적인 복잡성에 대해 걱정할 필요가 없습니다.


0

경제학:

사기꾼에 맞서 게임을 강화하려면 가장 좋은 방법은 소프트웨어 솔루션을 구입하는 것입니다. 여러 제공 업체가 있으며 "anti cheat breaks my game"에 대한 인터넷 검색을 통해 꽤 많은 공급 업체를 찾을 수 있습니다 .

전문가들은 실제로 당신보다 치트를 막는 데 훨씬 뛰어나고, 당신보다 게임을 깨뜨리지 않는 것이 훨씬 낫습니다. 따라서 그러한 솔루션을 게임에 적용하는 것이 가치가 있다고 생각하면 구매하십시오. 자신의 일을하는 것이 훨씬 더 비쌉니다.

관련 질문은 "치트 방지 소프트웨어 사용에 가치가 있습니까?"입니다. 정답은 게임의 적절한 부분이 온라인 경쟁 모드에 의존하지 않는 한 아닙니다.


0

모딩 및 메모리 편집으로부터 게임을 보호하는 유일한 방법은 온라인 전용으로 서버 측에서 중요한 가치를 처리 하는 것 입니다.

아마도 신인 메모리 edoits가 그들에게 도달하지 않도록 값을 암호화 할 수 있지만 Cheat Engine , Android 용 GameGuarian , ArtMoney, Game Hacker 와 같은 모든 커뮤니티에는 클라이언트가 처리하는 모든 것을 해킹 할 수있는 사람들이 있습니다. 다른 사람들에게 그것을하거나 트레이너를 게시하는 방법을 보여줍니다.

제 생각에는 사기꾼이 악취를 피우려고 노력하는 것을 무의미한 노력입니다. 또한 그것이 공정하지는 않습니다. 장치이기 때문에 장치에서 발생하는 물건을 메모리 편집하고 싶다면 왜 방해합니까? 결국 고객은 왕입니다.


0

나는 그렇게 열심히하지 않습니다. 간단한 값을 곱 하면 메모리 편집 사기꾼의 99 %를 유지할 수 있습니다 ( 게임 가디언 , 치트 엔진 등).

나는 하루에 많은 플래시 게임이 8 또는 6을 곱한 것을 기억합니다. 또는 정말로 진지한 경우, 일부 검사를 코딩하거나 메모리의 값을 암호화하십시오.


-2

당신은 할 수 없습니다-당신이 할 수없는 반복합니다. 이 질문에 대한 해답은 훌륭한 해커에 의해 취소 될 수 없습니다.

그러나-그래서 무엇? 누군가 게임에서 속임수를 원한다면 (금전적 손실이나 업적과 관련이 없다고 가정) 누가 신경 쓰나요? 그들은 단지 자신을 속인다.

멋진 게임을 만드는 데 더 많은 시간을 보내고, 모론이 자신의 재미를 망치는 것을 방지하는 데 걸리는 시간을 줄입니다.


투표 아래로 저는 믿습니다으로 재미는 이 대답에 중요한 역할을하지만, 놓친 완전히 . 추가 설명 대신 다른 답변을 제출하고 있습니다.
Gnemlock

-3

지옥을 암호화하십시오! 중요한 숫자는 다른 값과 함께 여러 위치에 나누어서 지속적으로 변경되도록 저장하십시오! 변경되면 그들에게 사기꾼이라는 더미 번호를 사용하십시오.

모든 것이 깨질 수 있지만 대부분 그렇게하는 데 시간이 걸리지 않습니다.


4
... 그리고 소스 코드는 읽을 수없고 유지할 수없는 혼란이 될 것입니다. 모든 것을 폭파시키지 않고 버그를 찾거나 균형을 바꾸는 행운을 빕니다.
Philipp

이런 형태의 치트 방지를 구현해야한다면 해커들이 내 악의 계획을 따라 잡고 포기하면 진심으로 실망 할 것입니다. 그것은 내가 누구의 시간도 낭비하지 않고 내 자신의 시간을 낭비했음을 의미합니다.
Marcks Thomas

@MarcksThomas 해커가 포기하면 시간을 낭비하지 않았습니다. 그것은 결국 목표가 아니 었습니까?
Dan

@Philipp에 대해서는 귀하의 의견에 전적으로 동의하지 않습니다. 소스 코드를 명확하게 유지하면서 프로덕션 코드가 떠날 때 스크램블하는 방법이 있습니다. 실제로 암호화와 숫자 및 특히 타이밍 및 스레딩 맘보 점보 :-)가 포함됩니다. 우리는 변경되지 않은 소스 코드로 테스트하고 프로덕션 코드에 오류가 있으면 잔인하게 충돌하게됩니다 (작은 지연으로 악의적입니다 :-)). 어딘가의 작은 변화도 그 원인입니다.
Stormwind

Thoght 나는이 체인에서 가장 좋은 답변으로 이것을 찬성했지만 이미 그것을 한 것 같습니다. 사용할 수학적 수학 규칙이 많이 있는데, 복잡성 및 무엇보다도 타이밍으로 리버스 엔지니어링을 수행 할 수 없습니다. 예를 들어 응용 프로그램에 충돌이 지연되도록 표시하거나 해당 응용 프로그램의 감수성이 쓸모없는 (재생 불가능한) 상태로 전환되도록 할 수 있습니다. 물론 당신은 이것에 대한 정당한 이유가되어야합니다.
Stormwind

-4

온라인 게임에서 처리하는 방법은 이렇습니다.

나는 그렇게 많은 해커를 도와주지 않을 것이다. 나는 이것을하기 위해 사용하는 어떤 프로그램도 언급하지 않을 것이다. 당신은 그것을 알아 내야 할 것입니다. 진정으로 그들을 막을 수있는 유일한 방법은 한 가지를 아는 것입니다. 그들은 해킹 프로그램이 탐지되기를 원하지 않습니다.

지금까지 내가 이겼 던 모든 해커 / 트레이너 사용자. 해킹 개발자는 무언가를보고 있는지 확인하기 위해 탐지기를 장착합니다. 문제가 있으면 해커 / 트레이너 프로그램이 끝날 때 자동으로 닫히거나 절반 만 작동합니다.

예를 들어 먼지 3에서 트레이너 사용자는 자동차 스핀 아웃을 자동으로 만들 수 있습니다. 그러나 당신이 당신의 끝에 검출기를 설치하면 치트 자체 검출기가 그것을 감지하고 치트의 일부를 닫습니다. 전부는 아닙니다.

내가 방해하는 영향을 본 트레이너 프로그램의 유일한 부분은 슈퍼 브레이크 (완벽한 제동)와 스핀 아웃 (아무 이유없이 제어를 잃는 것)입니다. 보시다시피 대부분 레이싱 게임이 있습니다. 그것들은 모두 코드 마스터들로부터 왔으며 슬프게도 그 게임들은 사기꾼들에 의해 자주 학대를 당합니다.

나는 우리가 놀면서 서로 연결하는 방식 때문에 그들을 막을 수 있다고 생각합니다. 보안에 대한 실마리가없는 일반 플레이어에게 스핀 아웃을 일으킬 수있는 것과 같은 이유 일 것입니다.

나의 가장 큰 제안은 매우 좋은 인터넷 보안 바이러스 백신을 얻는 것입니다 (Norton, Mcafee, Avast 및 다른 모든 시끄러운 av는 도움이되지 않습니다). 내가 나열하지 않은 아주 좋은 AV에 50-90 달러를 기꺼이 지불하고 온라인 플레이에 영향을 미치기 위해 실험하는 방법을 배우십시오.

많은 인내와 기니피그가 필요합니다. 나는 이것으로 많은 성공을 거두었지만 트레이너 사용자를 다루는 데 수년간의 경험을 가지고 있습니다. 나는 어떤 코드도 모른다. 그것과 관련이 없습니다. 코드 부분이 잠겨있어 아무것도 할 수 없습니다. 당신은 당신이 할 수 있다고 생각할 수 있지만 실제로 그들이 그들의 일을하고있는 것을 멈추는 것은 불가능합니다.

Vac은 이미 알고있는 파일의 서명과 특정 동작 및 수정 사항을 감지하기 때문에 VAC와 같은 것을 금지 할 수 있습니다. 치트와 관련된 계정 만 금지합니다.

그들은 실제로 속임수를 멈추지 않습니다. 그들은 그것을 귀찮게 할 수 없습니다. 그들은 단지 당신의 계정을 금지합니다. 내가 언급하고 싶은 다른 것은 Wolfenstein ET와 관련이 있습니다. 아주 오래된 게임. 그러나 나에게 그것은 가장 좋고 가장 가혹한 보안 조치를 취했습니다.

나는 그들이 어떻게했는지 보지 못했습니다. 나는 실제로 사기꾼을 막을 수있는 것에 대한 아이디어를 주었다. 게임을 할 때 쉽게 이용할 수있는 guid는 무엇입니까? 그래픽 카드. 그들이 구현 한 이유는 사람들이 IP 주소를 변경하기 때문에 게임 계정이 필요하지 않기 때문에 IP 주소도 변경되는 Mac 주소 인 이름을 변경할 수 있기 때문입니다.

그러나 그들이 그래픽 카드를 금지했을 때. 다시 플레이하려면 카드를 RMA하거나 새 카드를 구입해야합니다. 그것은 주제에서 벗어났습니다. 이것은 감지에 관한 것으로 생각되며 접선을 시작했습니다. 슬프게도 나는 지금 거의 게임을하지 않습니다. 그러나 나는 모든 내 돼지를 사랑했다. 특히 프로젝트 카의 것들. 코드 마스터가 아닌 유일한 레이싱 게임. 그러나 여전히 똑같은 말도 안됩니다.


이 답변에 몇 가지 문제가 있습니다. 1. 형식. 구조와 문법의 불일치로 인해 읽기가 어렵습니다. 무슨 말을하는지 이해할 수없는 부분이 있습니다. 2. 다른 사기꾼과 대결하는 플레이어로서 주제에 대해 많은 이야기를하는 것 같습니다 . 그것은 관련이있을 것입니다 Arqade 있지만 , 우리는 게임 개발에 더 관심이 있습니다. 3. 안티 바이러스와 관련하여 "내가 언급 한 것을 사용하지 마십시오"라고 말합니다. "Norton, mcafe, avast 및 모든 칙칙한 것들을 언급 합니다 . 이것은 특히 가장 높은 순위의 이름을 지정할 때 무엇을 사용해야하는지 알려주지 않습니다 .
Gnemlock

전체 후반 당신이 방법에 대한 일화 것 같다 생각 (난 당신이 말하는 노력에 갈 생각 비디오 게임 회사가 당신의 충고를 따랐다 당신하지 않도록 그 수행 방법, 내가 해석 그래서 당신의 추가 설명 이 완료 필수입니다 방법 기반으로 할 추측 이 아닌 사실).
그놈 록
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.