問題タブ [copy-protection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - クラッカーの悪夢であること!
MacでObjective-Cを使用して、コードを解読しにくくしようとしています。
私がしなければならないことの1つは、アプリケーションにひびが入っていないかどうかを確認することです。
私はObjective-CとXcodeを初めて使用します。アプリケーションをテストするために想像する方法は何でも、簡単にパッチを適用できる基本的なテストで終わります。
例:バイナリの特定の部分に特定の値が存在するかどうかをテストしようとしているとします。その操作は次のようになります。
「この値はxですか?」いいえの場合、それはひびが入っています。
これは非常に簡単に解読できます。ハッカーは簡単にテストにパッチを当てて、常に真にすることができます。
簡単にパッチを適用できるテストとして表示されるのではなく、何かをテストできるものを想像しようとしています。
私は100%の著作権侵害を止めることはできないことを知っていますが、少なくともクラッカーの大部分を思いとどまらせるために、物事をより困難にしようとしています。
このようなことをせずに行うことができ、バイナリを見ている人にとって物事を困難にする方法のアイデアはありますか?
助けてくれてありがとう。
.net - プロダクト キーの登録 - Visual Basic
プログラムのプロダクト キー レジストラを作成しようとしています。データベースまたは辞書タイプの製品キーが必要で、プログラムに入れずに毎日新しいキーを作成し、毎回再配布できます。どこから始めればいいのかわからないので、誰かアイデアがあれば投稿してください
ありがとう、
ケビン
drm - 私のプログラムを保護する方法は?
私が非常に重要なシステムを設計したとしましょう。このシステムの費用は数千ドルです。クラッカーがバイナリコードを編集してシリアル番号をバイパスしようとすることを知っているので、システムをシリアル番号で保護したいと思います。
チェックサム関数の使用について読み、それをバイナリコードに適用し、変更された場合は値を確認しましたが、ここでも、クラッカーがコードを編集することで回避できる条件について説明しています。
私の質問は、重要なプログラムを保護するために最もよく使われる手法は何ですか?
publishing - ソフトウェアのコピーを防止するためのベスト プラクティス
私はアプリケーションを開発していて、それをコピーから保護するための優れた情報を探しています。皆さんはそれについての本/記事/情報を知っていますか?
アドバイスをよろしくお願いします!
language-agnostic - ソースコードを保護する言語は何ですか?
登録アルゴリズムを含むシェアウェア ソフトウェアを作成したいと考えています。読み取り可能なコードに簡単に逆コンパイルできないプログラミング言語を探しています。たとえば、C# は読み取り可能なコードに逆コンパイルできます。
私のオプションは何ですか?
編集:アセンブリに逆コンパイルすることしかできないものを探しています。たとえば、Delphi は C# や Java のように逆コンパイルすることはできませんが、私が聞いたところによると、Delphi は死につつあります。
.net - 製品ライセンスを保護するために RSA 暗号化を使用する .NET の LicenseProvider
Microsoft の LicenseProvider を使用して、しっかりしたライセンス スキームを見つけようとしています。私の考えは、RSA(2048ビットキーのRSACryptoServiceProvider)による非同期暗号化を使用することです。これは非常に簡単であることがわかりましたが、メカニズムが実際にどれほど安全かはわかりません. これは楽しみのためではなく、米国内の多くの製品 (約 100 のインストールについて話している) をコピー プロテクトする必要があります。有効期限は不要です。
ここで、秘密キーを使用してライセンス ファイル (.lic) を暗号化します。顧客のコンピューターでは、ライセンス マネージャーがコンピューターの一意の ID を実行時に .lic ファイルに格納されている一意の ID と照合します。製品には対応する公開鍵があるため、ファイルを復号化できます。ID が一致すると、ライセンスは有効になり、プログラムが開始されます。
(ところで、コンピュータ ID は、MAC アドレス + CPU シリアル + ハード ドライブ シリアルの組み合わせです。したがって、これらのいずれかが変更された場合、ライセンスを更新する必要があります)。
それはとても簡単ですか?.lic ファイルを復号化できたとしても、必要な秘密鍵がないため、再度暗号化することはできません。
さて、高価なサード パーティ ソリューションを購入し、ライセンス DLL をクラッキングして回避する以外に、RSA+computerID を使用するこのアイデアはどの程度安全だと思いますか?
(はい、これを改善するためにコードを難読化することを検討しています)
フィードバックをお寄せいただきありがとうございます!
c++ - 静的ライブラリのコピー保護
間もなく有料の静的ライブラリを出荷する予定ですが、開発者がライブラリをコピーするのを防ぐために、何らかの形のコピー防止機能を組み込むことができるかどうか疑問に思っています。
理想的には、ライブラリが開発者のマシンに不正にコピーされた場合に限り、ライブラリが実行可能ファイルにリンクされないようにします。これは可能ですか?
あるいは、ライブラリの不正なコピーにリンクされたアプリケーションが単に機能しなかった場合でも、許容できる可能性があります。ただし、これによってこれらのアプリケーションのユーザーに負担がかからないことが非常に重要です(ライセンスキーの入力、ドングルの使用、インターネット接続の要求など)。
ライブラリはC++で記述されており、WindowsやMacを含む多くのプラットフォームを対象としています。
オプションはありますか?
encryption - ハードウェアソリューションを使用して、「解読不可能な」暗号化またはコピー防止を作成するにはどうすればよいですか?
私が話したい2つのタイプの問題:
著作権の目的で暗号化するプログラムを作成したとします(例:ライセンスのないユーザーによる特定のファイルの読み取りの拒否、またはプログラムの特定の機能の無効化)が、ほとんどのソフトウェアベースの暗号化はハッカーによって破られる可能性があります(金額を確認してください)。 「フルバージョン」になるためにHACKプログラムで利用可能なプログラムの数。)
ソフトウェアを他のユーザーにプッシュしたいが、著作権侵害から保護したいとします(つまり、他のユーザーがこのソフトウェアのコピーを作成し、それを自分のものとして販売します)。これを防ぐための効果的な方法は何ですか(DRMなどのCDの音楽保護と同様)?ソフトウェアの観点とハードウェアの観点の両方から?
それとも、これら2つは同じクラスの問題に属していますか?(ドングルはハードウェア/チップベースのソリューションであり、多くの場合、以下に記載されています)?
では、チップまたはハードウェアベースの暗号化を使用できますか?もしそうなら、正確には何が必要ですか?特別な種類のCPU、特別な種類のハードウェアを購入しますか?私たちは何をする必要がありますか?
どんな指導も大歓迎です、ありがとう!
comments - あなたの会社は、すべてのソース コード ファイルに著作権/企業秘密/などを主張するコメント ヘッダー ブロックを配置していますか?
もしそうなら、そうする上でのあなたのポリシーは何ですか?すべてのソース コード ファイルに対して著作権/企業秘密を主張しますか? それとも、すべてのファイルに対して著作権を主張し、企業秘密を含むファイルに対してのみ企業秘密を主張しますか?
サンプルのコメントブロックを法律用語とどのようにしてそれに到達したかを投稿できますか?
私がこれを持ち出すのは、少し前に私が IBM で働いていたとき、ソフトウェア ヘッダーの法的な部分に何を入れるかについて、非常に理にかなっているように思われる具体的な指示があったからです。主張する保護にはさまざまなレベルがありました。標準の「現状有姿」/「保証なし」/「無料」/「このメッセージを残す」条項を提供する場合、公開されている最低価格です。次のレベルは、専有/機密であると主張し、明示的に許可された個人のみがアクセスを許可されると述べました (そして、従業員/請負業者が関係を終了した場合、彼らは返却/削除/破棄/その他を行う必要があると述べました.最高のレベルは、コンテンツが企業秘密であると主張し、さらにもっと。
厳密にはプログラミングの問題ではないことはわかっていますが、実際の開発者が何をしているかを調査し、人々にポリシーやサンプル ヘッダー (会社名などを省略) を投稿してもらうのにこれ以上の場所は思いつきません。
回答として使用しているものを投稿することから始めます。私は、Google Code で検索を実行して (奇妙なことに、皮肉なことに、そのようなヘッダーが公開されています)、それぞれから最高のものと思われるものを取得して作成しました。
SO コミュニティが賛成/反対の投票を行い、各回答にコメントを追加して、他の人が従うことができるベスト プラクティスに進化できることを願っています。
これがコミュニティ ウィキとして最適である場合、私は 100% 大丈夫です。その判断は他の方にお任せします。
ios - 効果的な iPhone ソフトウェア コピー防止ソリューション
iPhone ソフトウェアを保護する効果的なコピー防止ソリューションはありますか?