2013-08-20 3 views
8

일부 스코어 보드는 가짜 점수 제출을 받았습니다. 다음은 그 예이다 :Google Play 게임 서비스의 가짜 점수

Top three scores seem fake

같은 일이 내가이 만든 게임에 일어났다. 가짜 제출물에서 자기를 보호 할 수있는 방법이 있습니까? 그리고 점수 판을 조정할 수있는 방법이 있습니까? 내가 추천 할 것입니다

+0

가짜 점수를 숨기는 것 외에는 사기꾼과 싸울 더 좋은 방법을 찾았습니까? – shelll

+1

모두에게 유용합니다. google gameplayservices의 관리 도구가 github에 있습니다 https://github.com/playgameservices/management-tools/tree/master/tools/hide-o-matic 사용 방법을 배우려면 소개를 읽으십시오 =) – user3487188

답변

11

사용자가 가장 높은 점수를 얻는 가장 단순한 방법은 root access to edit saved data을 사용하는 것입니다. 당신이 순서에 걸릴 수 있습니다

몇 가지 간단한 단계를 어렵게 만들려면 : 메모리 또는 저장된 상태에로

  1. 가 점수를 보유하지 마십시오. 예를 들어 배수로 나눗셈을 한 계수는 &입니다. 더 나은 옵션은 암호화 된 공유 환경 설정을 구현하는 것입니다.
  2. 점수 (CRC32, MD5)를 지닌 구조에 체크섬을 추가합니다.
  3. 저장된 상태에서로드하거나 메모리에서 읽기/쓰기 할 때 점수를 확인하여 점수를 확인하지 않습니다.
  4. ProGaurd를 사용하여 코드를 난독 화합니다. 돈을 벌고 있다면 덱스 가드 (DexGuard)를 사용하십시오. 덱스 가드는 훨씬 강력하며 소프트웨어 불법 복제를 더욱 어렵게 만듭니다.
+0

# 3 조금 더 설명 할 수 있습니까? –

+2

기본적으로 (2)와 동일합니다 - CRC 코드를 검증하십시오. – sagis

7

두 가지 기술 ...

  1. 는 개발자 콘솔에서 리더 보드에 최대 및 최소 값을 추가합니다. 총 별표를위한 리더 보드가 있고 게임에 180 개의 별만있는 경우 180을 최대 값으로 설정하십시오. 그것은 사기꾼이이 가짜보기 점수를 추가하지 않게 할 것입니다.
  2. players.hide() 전화를 확인하십시오. 이렇게하면 다른 플레이어가 볼 수 없도록 플레이어와 모든 점수를 공개 리더에서 숨길 수 있습니다. 이 REST 호출은 모바일 라이브러리에 내장되어 있지 않습니다. 이 전화를 사용하려면 직접 미니 웹 앱을 만들거나 (컬을 직접 호출해야합니다)
+2

완전히 문제를 해결하지 못합니다. 심지어 180 점이 치어 리더가 제출 한 가짜 점수 일 수도 있습니다. Google은 어떻게 든 앱 구매에서 처리하는 것처럼 가짜 고득점을 제출하는 것을 처리해야합니다. 각 제출 점수 요청서에 서명함으로써 – shelll

+0

가짜 점수를 막을 수는 없습니다. 당신이 할 수있는 일은 그것을 성취하기가 더 어렵게 만드는 것입니다. – kupsef

+0

player.hide() 호출에서 @Todd 매개 변수 "playerid"의 값을 어디에서 얻을 수 있습니까? (괜찮 으면) – DroidHeaven

관련 문제