私たちはこれを数回経験しており、ゲームを(安価で)リリースし、誰かがそれをハッキングしてミラーに投稿しました。私たちはすべてのアプリに Google アラートを設定しているので、誰がハッキングを行っているかを毎日知らせてくれます。これまでのところ、Google が提案したようにライセンス サービスを実装しました。ライセンスが一意のデバイス ID で開始されるたびに、ソルトがランダムに作成されます。アプリケーションの初回起動時に、チェック サービスを 1 回実行します。次に、キーの 512 文字のハッシュと、それ以降の SharedPreferences で比較される保存された値を生成します。
これで、1 回チェックすると、おそらくアプリケーションがブロックされていることがわかりました。私たちのバイトコードは、チェックを開始する行なしで調べられ、再コンパイルされた可能性があります。
ここからは、コードが壊れているのを見たことがあるので、コードを難読化したくありません。もう少ししっかりしたものが欲しいですし、これをきちんと行う方法も学びたいです。ハッキングされたバージョンを探す人は 2% しかいないので、現時点ではお金を稼ぐことよりも学ぶことに興味があります。
これまでのところ、私自身、ゲームのいくつかのスタートアップ領域に配置される乱数ジェネレーターを考え出しました。ライセンスが開始されると (たとえば、50 回に 1 回)、ライセンスがチェックされます。クラッカーは各ケースを排除し、コンパイルし、排除し、コンパイルしなければならないため、これによりハッキングが難しくなることはわかっています。ただし、この方法はまだクラック可能です...それで、皆さんは何を提案しますか? 繰り返しますが、私はこのセキュリティ プロセスに非常に興味があるので、教育してください。難読化やタイムスタンプに基づく定期的なチェックについての議論に発展させないでください。
ありがとう