3

ココア アプリを著作権侵害から少し保護する良い方法について質問があります。私はこれが不可能であることを知っています!

したがって、私のアプリにはisRegistered()、ユーザーがアプリを起動するたびに実行されるメソッドがあります。これはapplicationDidFinishLaunching:App デリゲートから呼び出されます。したがって、このメソッドが true を返す場合、アプリは引き続きコードを実行します。それ以外の場合は、アプリが登録されておらず、ライセンスを購入するのに xx 日あることを示すアラートが表示されます。

これは良い方法ですか?なぜなら、私はこれについて経験がないからです。

よろしくお願いします。


解決した

まず、皆さんに感謝します!私も同じことを考えています。どんなコピープロテクションでも著作権侵害を阻止できます。誰かが私のアプリを再びクラックすることを知っていたとしても、私はこの小さなバグを解決しようとしているだけです。しかし、それは本当です - 最良のことはアプリを改善することであり、著作権保護をより効率的にするために時間を無駄にしないことです.

4

4 に答える 4

7

あなたが説明するソリューションには、クラックするための専門知識はほとんど必要ありません。isRegistered()常に true を返すように関数を変更するのは簡単です。したがって、保護を回避するために必要な労力は、ユーザーが登録コードを購入するのをサポートするためにすべてのインフラストラクチャを実装するために費やさなければならない労力のごく一部です。

つまり、投資に対して十分なリターンが得られません。(製品を改善するのではなく) 著作権侵害保護を実装する投資収益率が十分に高いかどうかについては、いくつかの議論があります(なぜなら、自分よりも賢いことを証明する以外に何もすることがない人々と自分自身を戦わせるからです)。

投資収益率のバランスを改善する 1 つの良い方法は、 AquaticPrimeなどの既存のコードを使用することです。そうすれば、少なくとも虹を追いかけるのにそれほど多くの時間を費やすことはありません:)

于 2009-08-05T11:27:31.727 に答える
4

私はシュリンクラップソフトウェアビジネスに携わっていませんが、友人はそうしています。そして、彼の製品を 10 年間販売してきた彼の見解は、高度すぎる保護を作成しても意味がないということでした。あなたは一人で、世界は無限です。コピー防止に取り組むよりも、ソフトウェアの改善に時間とお金を投資する方がよいでしょう。

また、約 10% は絶対に盗まず、残りの 10% は常に盗もうとすることに注意してください。それらの80%が他の市長の障害なしにあなたの製品を購入できることを確認してください. それらの厄介な10%を無視するよりも。実際には Joel Spolsky IHMO からの引用です。

したがって、あなたのソリューションは技術的な観点からは完全に問題ないように思われ、そのままにしておいてください。

于 2009-08-05T11:02:41.327 に答える
2

独自の著作権侵害対策システムを実装する価値はほとんどありません。なぜなら、ほとんどの場合、何かに多くの労力を費やすことになり、簡単に破られる可能性があるからです。共有実装に依存する - この場合はAquaticPrimeのようなフレームワーク ( macsbメーリング リストの多くの人がそれを推奨しています) - そして、あなた自身のアプリと他のすべてのアプリを保護するのに十分なフレームワークに効果的に依存しています。 .

Leopard 以降のコード署名フレームワークを使用すると、コードが改ざんされた場合に実行を拒否するようにコードに署名することができます - manpagekillのオプションのドキュメントを参照してください。

于 2009-08-05T17:05:35.517 に答える
0

これは良い質問です。答えを読んだ後、BitDrinkが実際に得ていたのはこれだったと思いますisRegistered()。関数は、ハッキングするのが非常に簡単であることがわかっています。isRegistered保護システムが最終的にハッキングされることを理解した上で、ブール値を返す関数よりもハッキングが難しい関数を作成するための戦略は何ですか?

基本的に、コピー防止システムは最終的に次のようになります。

if (program is registered)
    let the program continue
else
    nagging message
end

GDBのコピーを持っているハッカーは、最終的にその最初の行を見つけて、それを取り除くための小さなパッチを作成します。ほとんどのコピー防止システムは、隠すことによるセキュリティに重点を置いています。つまり、その行を見つけにくくしています。バイナリに署名して署名を確認することで、このシステムをより堅牢にすることもできますが、ハッカーがジャンプするための別のフープを追加するだけです。彼らは最終的にあなたの公開鍵を見つけ、それを彼ら自身の公開鍵に変更して、あなたの署名を置き換えることができるようにします。ただし、これにより大幅に速度が低下すると思います。Leopardはコード署名ユーティリティを提供していますが、誤って署名されたアプリケーションがまったく実行されないようにするために使用できるかどうかはわかりません。

この問題に対する完全な解決策はありませんが、覚えておくべき2つの主要なことがあります。

  1. 登録システム壊れます。これを回避する方法は絶対にありません。
  2. 再登録システムは、ユーザーとプログラムの間の障壁です。(できれば大多数の)正当なユーザー向けに最適化し、これを可能な限り簡単にする必要があります。
于 2009-08-05T15:59:00.377 に答える