1

ゲームを開発しており、アプリ内購入をいくつか含めたいと考えています。

購入したアイテムをデータベースに保存し、いくつかのチェックを追加することにしました。ただし、まだ 1 つの問題があります。単純にアプリを逆アセンブルして応答コードを交換することはできないでしょうか (例: USER_CANCELED と OK)、ダイアログを開いて中止するたびに、ゲームはアイテムを購入したと認識しますか?

これまでアプリで試してみましたが、バクスマリの経験がないため、うまくいきませんでした。理論的には、(簡単に) 可能でしょうか? はいの場合、smali で正確に何を変更する必要があり、どのような対策が必要ですか?

ありがとう!

4

3 に答える 3

2

Android には、アプリ内課金のセキュリティ ガイドライン ドキュメントがあります。

https://developer.android.com/google/play/billing/billing_best_practices.html

この質問は常に出てきますが、その答えは、すべての著作権侵害を打ち負かす「真の解決策」はないということです。ただし、問題を軽減し、大規模な著作権侵害を防止するさまざまな手法があります。

著作権侵害を制限するためにどこまで行くかは、アプリの開発者次第です。難読化とサーバー側の検証と取り消し機能による複数のバージョンは優れた手法ですが、それ以上はおそらくやり過ぎです。アプリの 1 つのインスタンスをハッキングする時間と知識を持っている少数の人々について心配することは重要ではないかもしれないというのが一般的な通念です。

于 2011-11-03T18:38:59.587 に答える
0

単なる意見: Android アプリについてはあまり詳しくありませんが、セキュリティの範囲については、ソフトウェアのクラッキングを防ぐかどうか、またはどの程度防ぐかを決定する必要があります。セキュリティが高いほど、問題のあるアプリケーションが時間内に発生し、実際の顧客が気分を害したり、時間を盗んだりする可能性があります (パフォーマンスが低下するため)。また、アプリケーションをより優れた便利なものにする代わりに、アプリケーションを保護することに時間を費やすことになります。この素敵なコメントも読むことをお勧めします 。「人々があなたのアプリケーションをクラックしたいなら、彼らはそうするでしょう」

于 2011-11-03T12:18:35.620 に答える
0

逆コンパイルし、コードを変更し、apk として再度パックする場合は、以前に使用したのと同じキーで署名する必要があります。そうしないと、Play ストアでアプリ内購入を行うことができなくなります。

ストアのアイテムには、コンソールからアップロードしたものと同様に署名されたアプリからのみアクセスできます。

ただし、誰かがコードを完全に変更した場合、ストアに到達することなくプロセスを模倣することができます. これを防ぐには、バックエンド サーバーを介して購入の正当性を確認する必要があります。この質問とその方法に関する回答を確認することをお勧めします。

于 2013-10-10T12:39:03.300 に答える