0

わかりました、(私にとって)これは非常に複雑な質問であり、私の初心者の脳を傷つけています.

私のゲームでは、一連の必殺技 (コンボ) があります。私は、これらの大部分がアプリの購入にあることを意図しています. また、広告をオフにするとアプリ内購入になります。

プレーヤーは、拡張されたゲームプレイを通じてコン​​ボを獲得できるべきであるという提案がありました。おそらく、彼が使用できるゲーム内の獲得「クレジット」を購入します。

いずれにせよ、プレイヤーがコンボを利用できるという事実を保存する唯一の方法は、「共有設定」にインジケーターを保存することだと思います。

私の懸念は、共有設定がユーザーの干渉に対してどれほど脆弱かということです。私が理解しているように、「共有設定」は、すべてのルートユーザーが利用できる単なる .xml ファイルです。ユーザーが単に .xml にアクセスしてデータを「combo1 = true」または credits = 「1,000,000」または「ads = off」に変更するのを止めるにはどうすればよいですか?

これを書いているときに、「true」や「off」などの明白な言葉を使用する代わりに、ユーザーが推測できないコードを使用できることに気付きました。それは安全でしょうか?

しかし、クレジットはどうですか?値が何であれ、ユーザーが推測できない値をどのように保存しますか。

値から導き出されたコードとゲーム コード内の方程式で値を進めることができると思います。だからゲームには方程式があった

コード =((クレジット/2)*10)+1)。

これは、クレジットが 1000 の場合、sharedprefs に格納される値は 50011000 でなければならないことを意味します。したがって、ユーザーが式を知らなければ、.xml 内に有効な値を入力することはできません。

これらのアイデアは理にかなっていますか?彼らはうまくいくでしょうか?これを行うためのより良い、より確立された方法はありますか?

そんな初心者でごめんなさい。

4

2 に答える 2

0

受け入れられるために検証する必要がある一意のチェックサム アルゴリズムを備えたデジタル署名またはコードを使用します。

これにより、プログラムをリバース エンジニアリングしてキーを発見したり、チェックを無効にしたりするという問題に変わります。

それでも本当に安全というわけではありませんが、単にそれを難し​​くするだけです.

于 2012-09-13T10:50:30.923 に答える