2012-06-12 2 views
1

IAP Cracker의 존재에 대해 배웠고 앱에서 IAP 구매를 확인하는 가장 좋은 방법을 찾아 내려고했습니다."소모품"구매를 위해 IAP 크래커를 방어하는 방법은 무엇입니까?

IAP Cracker가 "소모품"구매와 함께 작동하는지는 알 수 없습니다. 그렇지 않으면 걱정할 것이 없습니다.

모든 구매를 보호/확인하는 데 하나의 조치가 있습니다. 어떤 통찰력

http://www.binpress.com/app/inapp-purchase-verification/633#description

감사합니다!

답변

4

나는 당신이 보여준 링크를 보았습니다. 그러나 내가 당신이라면 나는 그것을 믿지 않을 것입니다. 이 방법은 리버스 엔지니어링 및 개발을 아는 사람이 쉽게 우회 할 수 있습니다. 누구든지 자동으로 무료 콘텐츠를 제공하는 해킹을 쉽게 작성할 수 있습니다.

내가 사용하지 않았기 때문에 인앱 구매를 확인하는 안전한 방법을 모르겠지만이를 명심해야합니다. 아무리 안전하게 만들어도 해커가이를 무시할 수 있습니다.

+0

어떻게? 그러면 Apple 서버와 통신하는 원격 서버의 수신 확인이 유효합니다. – z8000

+0

예. 그렇지만 유효성을 검사 한 후에는 구매가 성공했다는 위임 메서드가 호출됩니다. 구매 유효성을 검사하는 대신이 위임 메소드를 호출하기 위해 수정 된 것이라고 가정 해 보겠습니다. 이 경우 앱은 사용자에게 청구하지 않고 요청한 콘텐츠를 기꺼이 사용자에게 제공합니다. 대답을 이해하지 못했기 때문에 답을 downvote하지 마십시오. – C0deH4cker

+0

나는 downvote하지 않았다 b/c 나는 그것을 이해하지 않았다. 너는 설명하지 않았다. 이제는 당신이 언급 한 내용에 대해 설명 했으므로 upvote를 얻었습니다. – z8000

1

원격 서버에서 통신하고 데이터를 저장하는 것이 좋습니다. 따라서 클라이언트를 통해 전화를 걸면 원격 서버로 정보를 보내야합니다. 그러면 클라이언트는 "예 구매가 이루어졌다"는 콜백을받습니다. 이제 사용자가 실제로 구매를 시도하면 들어오는 데이터가 실제로 사용 가능한지 여부를 확인하는 원격 서버로 전화를해야합니다.

사용자가 "10 개의 동전"을 구입했다고 가정하면 클라이언트가 서버에 "인증 필요"메시지를 보내면 서버가 사과 메시지를 보내고 응답을받습니다.이 경우에는 '응답). 그런 다음 귀하의 서버는 데이터베이스에 사용자 "*"에 대해 "10 동전"을 저장하고 "구입 한 10 동전"을 고객에게 반환합니다. 그런 다음 사용자는 10 개의 동전을 사용하여 게임에서 구매하여 원격 서버에 다른 메시지를 보내고 원격 서버는 db를 확인하여 사용자가 사용 가능한 동전을 가지고 있는지 확인합니다.

이유가 안전합니다 : 사용자가 동전을 가지고 있으며 메시지를 '구입'하고 메시지에 60 개의 동전을 넣으려는 메시지를 '가짜'합니다. 원격 서버가 메시지를 받으면 데이터베이스에 대해 사용 된 값 (60)을 확인하고 사용자에게 60 개의 동전이 없다는 것을 확인한 다음 메시지를 실패합니다.

원격 서버의 모든 데이터를 유지 관리하고 클라이언트가 사용자의/what/how에 액세스하기 위해 웹 호출을하도록합니다. 이렇게하면 사용자가 원하는 모든 데이터를 클라이언트에서 변경할 수 있지만 원격 서버가 데이터와 일치하지 않으므로 문제가되지 않으므로 속임수로 오류가 발생합니다.

관련 문제