頒布時に公開鍵と秘密鍵を生成して公開鍵を配布。
また、頒布毎に異なる ID も渡しておく。
頒布時に渡した ID をサーバーに登録しておく。

クライアント起動毎に公開鍵で暗号化した ID をサーバーに送信。
サーバーは秘密鍵で復号化して ID が正しいか確認。
+ 複合不可 ⇒ NG
+ ID が未登録 ⇒ NG
+ 起動回数が 100回以上 ⇒ NG
サーバーは該当 ID の起動回数を一つ増やして、起動許可を秘密鍵で暗号化してクライアントに返信。
クライアントは返信された起動許可情報を公開鍵で復号化して正しく復号化できれば、
アプリケーションを起動。

どう改竄すれば回避できるの?
チェックして部分をすっ飛ばすとか言うのはなしとして。