1

MacでObjective-Cを使用して、コードを解読しにくくしようとしています。

私がしなければならないことの1つは、アプリケーションにひびが入っていないかどうかを確認することです。

私はObjective-CとXcodeを初めて使用します。アプリケーションをテストするために想像する方法は何でも、簡単にパッチを適用できる基本的なテストで終わります。

例:バイナリの特定の部分に特定の値が存在するかどうかをテストしようとしているとします。その操作は次のようになります。

「この値はxですか?」いいえの場合、それはひびが入っています。

これは非常に簡単に解読できます。ハッカーは簡単にテストにパッチを当てて、常に真にすることができます。

簡単にパッチを適用できるテストとして表示されるのではなく、何かをテストできるものを想像しようとしています。

私は100%の著作権侵害を止めることはできないことを知っていますが、少なくともクラッカーの大部分を思いとどまらせるために、物事をより困難にしようとしています。

このようなことをせずに行うことができ、バイナリを見ている人にとって物事を困難にする方法のアイデアはありますか?

助けてくれてありがとう。

4

5 に答える 5

11

ソフトウェアがセキュリティ関連でない限り、ライセンスプランを変更して、ソフトウェアをほとんど使用せず、組織にとって高価なホームユーザーがソフトウェアを無料で利用できるようにする方がよいと思います。

法的な問題があるため、組織がクラックされたソフトウェアを使用することはめったにありません。ホームユーザーは、たまにソフトウェアを使用するために100ドルを費やしたくない場合があります。

これは、ソフトウェアをクラックするクラッカーの動機を奪うでしょう。

于 2009-10-17T00:49:22.323 に答える
8

しないでください。(良い)クラッカーは楽しみのためにソフトウェアをクラックすることを忘れないでください。保護スキームが複雑であればあるほど、クラッカーにとってはより挑戦的で楽しいものになります。さらに、あなたのソフトウェアを違法に使用する可能性のある人々は、たとえ彼らがひびの入ったバージョンを手に入れることができなくても、とにかくそれに対してお金を払うつもりはありません。あなたの時間はあなたの製品をより良くするためによりよく費やされるでしょう。

そうは言っても、デバッグシンボルの実行可能ファイルを削除することで、ほとんどのアマチュアクラッカーを阻止できます。プロジェクト設定でこれを有効にする必要があります。

于 2009-10-17T05:53:19.130 に答える
5

私が知っている非常に強力な保護スキームはすべて、何らかの方法で自己変更コードを広範囲に使用しています。ただし、これは間違いなく、初心者のプログラマーが処理できるように準備する必要があるものではありません。

于 2009-10-17T06:39:00.863 に答える
2

彼らがあなたのスキームを評価しにくくし、定期的にスキームを変更してください。教科書的な例では、ライセンス評価の進行中にチェックのソースとすべての相互参照を見つけるのに時間がかかります。それを複数のチェックと組み合わせると、ほとんどのリリースに対応できるはずです。スキームを作成するときに創造性を十分に発揮してください。また、彼らのゲームをプレイするのは少し楽しいです。クラックが投稿されてから 1 か月後に失敗したクラックをリリースしてもらうために... OK、それは裏目に出るかもしれません。

興味深いコミュニティです。これに慣れていない場合は、コミュニティを研究することも有益です。前述のように、チャレンジにはクラックが発生します。一部の製品バージョンでは、「無料広告」のためにコピー プロテクション スキームが簡素化されます。誰かが決心した場合、それはあなたの時間を無駄にし、あなたを苛立たせるからです. 文化を観察することは興味深いことです。クラックされていることが「人気のあるソフトウェア」に相当することを認めれば、おそらく最良の立場にいることになります。したがって、満足するはずです。一般的に、これで睡眠不足になることはありません (もちろん例外もあります)。さらに、この質問は Mac カテゴリにリストされているため、統計を掘り下げるつもりはありませんが、

あなたが初心者のプログラマーなら、クラッカーと効果的に戦うために知っておく必要があるのは、その情報を賢く使う (そして受け入れる) ことだけかもしれません。

于 2009-10-17T06:29:29.407 に答える
1

危険なことの 1 つは、やりすぎると、正当なユーザーの機能を壊してしまう可能性があることです。1980 年代の多くの Atari のアーケード マシンには、ROM が変更されたことを検出した場合にさまざまな興味深い処理を実行するコードが含まれていました。影響は微妙です。たとえば、Tempest というゲームでは、プレーヤーが特定のスコア値を持ったときにゲームが終了すると、無制限の無料ゲームが与えられます。ただし、Tempest のリリース ROM では、チェックサムが正しく計算されなかったため、すべてのマシンでこの動作が発生しました。このバグがフィールド マシンの収益にどの程度影響したかはわかりませんが、一部のオペレーターはこのバグを発見してかなり動揺したことでしょう。

于 2010-11-28T23:38:29.607 に答える