카테고리 보관물: Android

Android

Android 게임이 계속 해킹 당함 [닫힘]

그래서 우리는 이것을 여러 번 겪었습니다. 우리는 게임을 (저렴한) 출시하고 누군가가 그것을 해킹하고 거울에 올려 놓습니다. 모든 앱에 대해 Google 알리미를 설정하여 해킹을 수행하는 사람에게 매일 알려줍니다. 지금까지 Google에서 제안한대로 라이센스 서비스를 구현했습니다. 고유 한 장치 ID로 라이센스가 시작될 때마다 소금이 무작위로 만들어집니다. 애플리케이션이 처음 시작될 때 점검 서비스를 한 번 실행합니다. 그런 다음 키에 대한 512 문자 해시와 SharedPreferences와 비교되는 저장된 값을 생성합니다.

이제 한 번 확인하면 응용 프로그램이 차단되는 위치 일 것입니다. 우리의 바이트 코드는 검사를 시작하는 줄없이 보았고 다시 컴파일되었을 것입니다.

여기에서 이전에 코드가 깨지는 것을 보았을 때 코드를 난독 화하고 싶지 않습니다. 나는 좀 더 견고한 것을 원하고, 이것을 올바르게하는 법을 배우고 싶습니다. 이 시점에서 돈을 버는 것보다 배우는 데 더 관심이 있습니다. 사람들 중 2 %만이 해킹 된 버전을 찾을 것입니다.

지금까지 혼자서 게임의 여러 시작 영역에 배치되는 난수 생성기를 생각해 냈습니다. 라이센스가 시작되면 (예 : 50 회 중 1 회) 라이센스가 확인됩니다. 크래커가 각 경우를 제거하고 컴파일하고 제거하고 컴파일해야하기 때문에 해킹하기가 더 어려울 것입니다. 그러나이 방법은 여전히 ​​깨지기 쉽습니다 … 그래서 너희들은 무엇을 제안합니까? 다시 한 번 저는이 보안 프로세스에 관심이 있으니 교육하십시오. 이것을 난독 처리 또는 타임 스탬프를 기준으로 주기적으로 확인하는 것에 대한 토론으로 바꾸지 마십시오.

감사



답변

내 아이디어는 해커 증거는 아니지만 게임 해킹에 대한 관심을 일부 제거 할 수 있습니다.

프리미엄 모델

1) 처음 5-10 레벨을 무료로 만들어 사람들이 게임을 배우고 비용을 지불하지 않고 재미있게 놀 수 있습니다. 적은 것은 첫 번째 수준을 해킹하고 싶어하며 게임은 Freemium 모델에 의해 더욱 확산 될 것입니다.

쉐어웨어 / 클러스터 레벨 팩

2) 게임 레벨 또는 로직의 일부를 온라인 상태로 유지하십시오. 예 : 레벨 5 또는 10 또는 15에 도달하면 게임의 작은 부품을 다운로드하고 매번 게임에서 진행률 로그를 제출하고 가능한 값 + 해시 코드와 비교하여 유효성을 검증하십시오. 이로 인해 해킹 된 계정을 자동으로 폐쇄 할 수 있습니다.

스텔스 사기꾼 보호

3) 게임에 배치 한 “작은 경고 플래그”도 계산할 수 있습니다. 처음에 “유효성”을 확인하지 말고 게임 로직 자체에이 플래그를 작성하지 마십시오. 아무도 그것을 찾지 않기 때문에 게임 플레이를 중단시키지 마십시오. 그런 다음 사용자가 레벨 몬스터의 끝에 도달하면 기록 된 경고 플래그가 있는지 확인하십시오. 이것들은 게임 안에 표시되지 않으므로 해킹 된 에디션을 모르는 사용자는 몇 시간 / 일 동안 플레이 할 수 있으며 게임에 “버그”가있어서 게임을 마치거나 다음 레벨로 진행할 수 없다는 것을 갑자기 깨달을 수 있습니다. 사용자가 모르는 것은이 버그는 해킹 된 클라이언트에서만 발생한다는 것입니다.

결론

크래커보다 똑똑합니다. 일이 끝났다고 생각하도록 속이십시오. 복사 방지를하고 고급 크래커가이를 제거 할 수 있음을 알고 있어야합니다. 그러나 그들은 균열이 완전히 작동하는지 확인하기 위해 50 레벨을 재생하고 싶지 않을 것입니다.

그들이이 문제를 깨닫고 나면 그것들도 깨지기 시작할 수 있습니다. 그러나 게임을 레벨 팩으로 나눈 경우에도 각 팩 다운로드간에 유효성을 검사 할 수 있습니다. 따라서 해킹 된 클라이언트 해시 데이터를 받으면 예외를 실행하고 클라이언트에서 게임을 중단하십시오. 혹시 게임이 추락했습니다. 해킹 되었기 때문에 말하지 마십시오. 프로그램 오류가 발생할 수 있습니다. 🙂

다시, 그것은 해커 증거가 아닙니다. 그러나 다음 게임으로 넘어갈 정도로 짜증이 날 수 있습니다. 마지막으로, 게임을 정기적으로 업데이트 할 수 있으며 최신 버전 만 “레코드를 게시”할 수 있어야합니다. 따라서 활성 사용자는 계속 업데이트해야합니다.


답변

나는 잠시 동안 apk 디 컴파일과 해킹을 해왔다. (warez는 아니지만 대부분 xda 개발자 정책을 준수하는 Google 앱과 Android 프레임 워크에 대한 모드와 해킹).

smali를 읽는 법을 배운 후에는 원래 Java 코드를 읽는 것과 거의 비슷합니다 (그러나 더 많은 LOC가 있음). 따라서 키를 확인하기 위해 추가 한 코드를 찾아서 삭제하거나 교체 할 수 있습니다. 매번 재 컴파일 할 필요가 없으며 (일부 검색은 유사한 코드 조각을 찾기 위해 기적을합니다), 컴파일 / 재 컴파일주기를 찾아야하더라도 1-2 분이면됩니다. 디 컴파일하기 : 모든 것은 apktool과 apkmanager에 의해 자동화됩니다.

말하지만, 당신에게 제안하는 것은 일종의 온라인 스코어 테이블 또는 이와 유사한 것을 구현하는 것이며, 사용자가 온라인으로 스코어 테이블을 볼 때 구현 한 해시 코드를 확인하고 관련 gmail 계정과 비교할 수 있습니다. 그렇게하면 해킹을 Google에보고하고 warez 사용자에게 불쾌한 메시지를 보내 왜 불법인지 설명 할 수 있습니다.

물론, 점수 테이블을 제거하기 위해 새로운 핵을 구현할 수 있지만, 이는 warez에 대한 관심을 줄입니다.

행운을 빕니다.


최신 정보

이 질문에 대답을 조사한 후 : APK에 주입 코드 (정말에 대한 아마존의 DRM 메커니즘), 나는 아마존이 애플 리케이션을 보호하는 방법에 대해 조금 알 수 있습니다 : 그것은 방법 설치 타당성을 검사하기위한 포함 사방 (당신이 예를 볼 수 있습니다 그 질문에 대한 대답에서 어떻게하는지). 이로 인해 앱을 해킹하려는 시도는 어렵지 않지만 지루합니다. 그것의 : 해커가 많은 반복 작업을하고 너무 많은 시간을 보내고 싶어하지 않을 것이다 : 그 강력한 포인트입니다 믿고 도전하지 과의 지루한. 그 접근 방식에서 볼 수있는 주요 결함은 물론 유효한 답변을 반환하기 위해 Amazon 앱 자체를 해킹 할 수 있다는 가능성입니다. 그러나 현재 해시 검사를 방법에 흩어져있는 온라인 검사와 혼합하면 해킹 당할 가능성이 크게 줄어 듭니다.


답변

이 게시물에서 내 솔루션에서 가져온 apk cracked

자체 라이센싱 라이브러리 구현

또한 Google I / O 2011 YouTube 녹화에서이 내용을 확인하시기 바랍니다.

해적 피하기와 뱀파이어 막기

편집하다:

해적피하고 뱀파이어를 멈추는 발표 노트

몇 가지 기본 요점


답변

나는 당신이 실제로 난독 화하지는 않는다는 것을 알고 있지만 실제로 이것에 반응해야합니다.

여기에서 이전에 코드가 깨지는 것을 보았을 때 코드를 난독 화하고 싶지 않습니다. 나는 좀 더 견고한 것을 원하고, 이것을 올바르게하는 법을 배우고 싶습니다.

ProGuard는 내 경험에서 매우 신뢰할 수 있으며 AIDL과 같은 몇 가지 고급 기능과 Java 메소드를 호출하는 기본 코드를 사용하지만 문서를 읽고 올바르게 작업하는 데 약간의 작업이 필요하지만 ProGuard는 매우 안정적이며 앱을 최적화합니다.

사용자 지정 보안 / 암호화 트릭은 좋지만 난독 화없이 겸손한 의견으로 물에 돌을 던지는 것과 같습니다.

몇 달 동안 프로덕션 환경에서 ProGuard를 사용해 왔으며 완벽하게 작동합니다.

배우고 있다면 ProGuard 매뉴얼을주의 깊게 읽고 실험하고 출력 로그를 검사하십시오.


답변

유능한 프로그래머가 많을 확률은 100 %입니다 (모든 프로그래머에게 적용됨). 그리고 그것이 사실이라면, 당신은 해킹을 고칠 수 없습니다. 그러나 파산하기 위해 많은 시간과 노력을 들일 수 있습니다.

진지한 돈을 벌고 싶다면 대상 사용자 그룹과 행동 과학에 대한 연구가 필요합니다. 게임을하는 사용자가 새로운 돈을 벌게해야합니다.

게다가, 당신은 모든 것을 잘못 알았습니다. 해커는 사용자 기반에서 가장 활동적인 회원이며 의도하지 않은 방식으로 행동합니다.

예를 들어 Zynga 게임을 Facebook에서 가져 가면 해킹 당했다고 생각하십니까? -물론 약 +100000 명의 플레이어 만 플레이 할 수 있습니다. 왜냐하면 당신은 모든 것을 자동화하는 봇을 사용할 수 있기 때문입니다.

실제 사용자의 거대한 활성 사용자 기반 봇넷을 가지고 아카이버 유형의 게이머가 게임을하고 싶어합니다. 만약 당신의 플레이가 멋져 보인다면, Avarage Joe도 플레이하고 싶어합니다. Avarage Joe가 플레이하면 친구가 놀고 싶을 것입니다. 아마도 다른 것을 신경 쓰지 않을 것입니다. 아마 친구보다 나아지거나 시간을 죽이거나 대화 할 것이 있습니다. Avarage Joe의 친구는 Joe보다 더 나아지기 위해 기꺼이 돈을 지불 할 가능성이 높지만, 오히려 네가 더 나아질 수있는 것에 투자하고 싶습니다.

실제 가치가 무료로 게임을하고 있다면 무료 해킹 된 버전을 사용하는 사용자는 그 비용을 지불하지 않았을 것입니다. 그러나 당신은 Avarage Joes와 그들의 친구 일 것입니다. 따라서 이것은 가장 저렴한 광고와 같습니다. 대규모 사용자 기반으로 돈을 벌고 싶다면 레벨과 그래픽을 약간 변경하여 새로운 버전의 게임을 만드십시오.


답변

불법 복제는 항상 문제가 될 것입니다. 크래커가 크면 크래커가 개발자 보다이 보안 사고 모호한 게임을하는 것이 좋습니다.


답변

정말 흥미롭고 혼란스러운 질문입니다. 🙂 실습으로 Amazon을 통해 앱을 출시하려고 할 수 있습니다. 그들 자신의 DRM 메커니즘을 가지고있다. ProGuard보다 잘 작동하는지 궁금합니다 …