1

ソフトウェアの試用版に「レコード数」制限を実装するアイデアはありますか?

  1. タスク管理プログラムだとします。
  2. 試用版と完全版は別のダウンロードです。
  3. 試用版では最大を制限したい。ユーザーが作成できるタスクの量。

私の質問は、この「タスク数の制限」をコアプログラムロジックに適用して、簡単にバイパスできないようにすることです? たとえば、明らかに次のコードは簡単にバイパスできます。

if (varTotalTaskCount > 20)
{
  ShowMessage("This is a trial version and you can create up to 20 tasks only");
  return false;
}

何か案は?ありがとう!

4

2 に答える 2

1

私は邪悪で、次のようなことをします:

フルバージョンでは、配列/リスト/etc を制限なしで使用します。
試用版では、指定されたサイズの静的配列/リスト/etc を使用し、境界チェックを行いません。また、試用版では、簡単にバイパスできる提案したコードを追加します。

これは、最大制限チェックが存在する場合はクラッシュしないが、クラッカーがチェックを削除するとクラッシュすることを意味します。コードに多くのエラーが含まれていると、コードを修正するのが難しくなります。

最後に、この方法でコーディングすることはお勧めしませんが、クライアント/サーバー型の保護に頼らずに、クラッカーにとって可能な限り困難なものにしたい場合は、これが私がしたことです。

于 2010-07-01T13:55:41.053 に答える
0

さて、「簡単に」定義してください;)

これが(PHPのような)インタプリタ言語で書かれている場合、最善の策はコードの難読化です。

コンパイルされたプログラムを使用すると、このロジックをより適切に隠すことができます(たとえば、自己変更コードを使用したり、さまざまな計算を実行してタスク制限を計算したりすることで)が、最終的には「試行するかどうか」を決定する必要があります。

結局、誰かがあなたのプログラムをクラックすることをいとわないなら、彼らはそうするでしょう。

于 2010-07-01T13:56:21.733 に答える