2011-03-07 5 views
1

내 Android 애플리케이션의 경우 무료이지만 광고가 필요합니다. 그런 다음 사용자에게 PayPal 라이브러리를 사용하여 저렴한 비용으로 광고를 삭제할 수있는 옵션을 제공하려고합니다. 그렇게하면 모니터하고 개발해야하는 2 가지 응용 프로그램 버전을 따로 보유 할 필요가 없습니다.Android 설정 암호화

어쨌든 사용자가 광고를 제거한다고 지불 한 후에는 그들은 내 앱을 스푸핑하는 것이 쉽지 않기 때문에 돈을 지불했다. 어떻게해야합니까? 문자열을 암호화하고 SharedPreferences에 암호화 된 값을 저장하려고 생각했습니다. 그것은 가능한 옵션입니까? 앱에서 APK를 가져 와서 다른 누군가에게 넘겨 주면 SharedPreferences가 함께 이동하거나 APK 외부에 저장됩니까? 누군가가 루트 액세스 권한을 갖고 있다면 어떨까요? SharedPreferences를 스푸핑 할 수 있습니까?

가능하면 앱을 시작할 때마다 서버를 쿼리하지 않아야합니다.

감사합니다.

답변

1

나는 점 몇 가지를 주장 할 것이다 :

  1. 은 무료 광고 지원 버전과 유료 버전으로 응용 프로그램을 리팩토링. 거의 모든 응용 프로그램을 공유 할 수 있도록 패키지 할 수 있습니다. 그런 다음 무료 및 유료 버전을 시장에 게시하십시오.당신의 사본 보호의 주위에 자신의 방식으로 작동 기꺼이

  2. 사람은 결코 어쨌든 앱을 지불하려고하지 않았다.

  3. 당신은 가치 제안을 제시합니다. 무료 및 유료 버전을 구분하는 유일한 것이 광고 인 경우 앱은 사용자가 없이는 살 수없는 무언가가 될 수 있습니다. 더 많은 기능으로 유료 버전을 확장하려는 경우 위의 # 1은 아마도 더 좋은 아이디어 일 것입니다.

0

사용자가 충분하다고 판단되면 앱을 리버스 엔지니어링하여 암호 해독 키를 받거나 보호 기능 전체를 패치 할 수 있습니다. SharedPreferences는 누구나 액세스 할 수있는 파일에 저장됩니다 (ok, 어쩌면 누구나 루트 액세스를 할 수 있습니다 ...).

요약하면, 자신을 노력하지 말고 앱을 보호하려고 시도조차하지 마십시오. 누가 앱을 리버스 엔지니어링하여 어쨌든 광고를 없앨 것입니까?

+0

당신은 저를 때렸습니다. "포기하라"는 충고이다. 여기에 도움을 청하면 어떤 시스템을 사용하든 몇 분 안에 금이 갈 것입니다. 온라인으로 확인하면 수 표가 제거됩니다. 코드에서 암호화하면 암호를 해독합니다. 등등. –

1

앱에서 휴대 전화 (기기 ID, 앱 버전 등 ...)에서 고유 한 데이터를 가져 와서 결합 할 수 있습니다.

그런 다음 공개/개인 키 쌍을 사용하십시오. 공개 부분은 앱에 있고 개인 부분은 나와 함께 할 수 있습니다.

사용자가 앱 비용을 지불하면 기기 ID가 포함 된 문자열이 전송되며 지불을 받으면 인증서가 포함 된 데이터 묶음을 다시 전송합니다.

앱에서 공개 키를 사용하여 기기 ID 또는 사용자가 입력하기로 결정한 인증서를 확인할 수 있습니다.

해결해야 할 세부 사항 (데이터가 앞뒤로 보내지는 방식 등 ...)이 있지만, 그런 종류의 도구를 사용하면 무엇을 얻을 수 있습니까? 당신이 찾고있는. 당신은 인증서를 관리하는 방법에 대해 여기에서 찾아보실 수 있습니다

: 물론 http://developer.android.com/reference/java/security/cert/package-summary.html

, 당신이 원하는 방법 정교한 귀하의 응용 프로그램에 따라 다릅니다 얼마나 많은 사람들이 비용을 지불해야합니다. 리버스 엔지니어링을 통해 모든 것을 우회 할 수는 있지만, 광고를 없애기 위해 0.99 달러를 지불하면 많은 사람들이 문제를 겪게 될 것입니다.

0

지금은 복잡한 보호 기능을 무시하고 인앱 구매가 도착할 때까지 기다려야 할 수 있습니다. 그 시점에서 안전하고 신뢰할 수있는 솔루션이있을 것이라고 생각합니다.