私は多くのモジュールを持ち、.jar
ファイルを持っている.netプロジェクトを持っています。また、インストールのために.msi
セットアップを作成しました。
このアプリケーションは、実際に当社のIP(社内製品)であり、一定期間クライアント環境にインストールされることがあります。
私たちはサードパーティのライセンス(safenet)を持っているので、誰もその働きを知ることができないように、製品コードを安全にしたいが、問題は彼らが.jar
にあるすべてのメソッドの暗号化を提供していないということです約1000の方法を有する)。
デコンパイルからアプリケーションコードを保護する方法はありますか?または、コードを難読化してデコンパイルが機能しないような方法がありますか?
編集:この施設を提供するツール(ライセンスツール)はありますか?
ありがとうございました。intalledファイル(.dll、.jar)の暗号化/難読化
答えて
申し訳ありませんが、プログラムの仕組みを非表示にすることはできません。マシンで実行できる場合は、逆コンパイルが可能です。たとえば、Javaで難読化の最も一般的な方法は以下のとおりです。
- 名前難読化
- フローの難読化
- 不透明な述語これらの事のバイトコードレベルなしで
場合は人を停止することができ、それらあなたの製品の仕組みを理解することに専念しています。ネーミングはバイトコードレベルでは無関係であり、フロー難読化は自動ツールでパッチすることができ、不透明な述語に対しても同じことが適用されます。同じことが大部分の.Netフレームワークに当てはまります。
しかし、これらの機能は、平均的なスクリプトの子供たちを守ります。彼らは完璧ではありませんが、価値あるものです。あなたが名前の難読化だけを提供していますが、あなたがProguardをチェックアウトすることができます無料の難読化の代わりをしたい場合。フローおよび不透明な特徴を有する難読化装置は、通常、高価である。
私はコピープロテクション会社の仕事をしています。私は自分の仕事に偏っていないように努力します。
はい、保護が可能で、あなたが望むならば、あなたはハッカーのために非常に困難にすることができます。あなたの保護を破ることは不可能でしょうか?いいえ、すべてのコードが壊れる可能性があります。しかし、より良い保護、亀裂が難しいほど、そしてハッカーの数が少ないほどあなたの製品に手を差し伸べるでしょう。
デバッガを停止する方法はいくつかあります。最も簡単なのは、コードが通常の速度で処理されているかどうかをテストし、そうでない場合は、コードをデバッグしてステップで実行するためです。次に、あなたのソフトウェアの逆コンパイルを止めるために、あなたのコードはプログラムをうまく終了させるべきです。
私の同僚は、コピー保護の基本について、この記事を書いた:「デバッグトラップ」のAll About Copy Protection ルックをあなたはそれをすべてを読みたくない場合は:)
を- 1. 難読化の暗号化私のPHPファイル
- 2. Proguardをjarファイル内のjarファイルに難読化する方法
- 3. dataconfig.config暗号化ファイルの読み取り
- 4. 難読化されたDLLの参照
- 5. 別ファイルのXML暗号化/復号化
- 6. ファイルの暗号化と復号化
- 7. ファイルの復号化と暗号化
- 8. アセンブラXOR暗号化/復号化ファイル
- 9. 暗号化ファイルは、
- 10. 暗号化XMLファイル
- 11. 他のJarファイルが埋め込まれたJarファイルの難読化
- 12. proguardを使ったAndroidの難読化アプリケーションは、ライブラリのjarファイルを難読化していますか?
- 13. ブラウザ暗号化サーバ解読
- 14. proguardを使用したjarファイルの難読化
- 15. 良い暗号化/暗号化の本
- 16. Silverlight XAPファイルの暗号化
- 17. mp3ファイルの暗号化
- 18. IOSファイルの暗号化
- 19. delphi xeファイルの暗号化
- 20. 難読化されたAndroid dex/jarファイルをJavaソースコードに逆コンパイル
- 21. s40のDRM暗号化されたJARファイル
- 22. OpenAM:RESTFUL API - 暗号化/暗号化パスワード
- 23. RSA暗号化/復号化
- 24. 暗号化と復号化
- 25. AES暗号化/復号化
- 26. 暗号化/復号化soll
- 27. 復号化、暗号化
- 28. 復号化(解読)機能(暗号)
- 29. flvファイルを暗号化
- 30. Amazon S3ファイル暗号化