JavaScriptコードの暗号化ツール|AxProtector JavaScript
AxProtector JavaScriptは、サーバとクライアントのスタンドアロンJavaScriptアプリケーションをリバースエンジニアリングから保護するツールです。保護したいファイルを選択後、AxProtector JavaScriptでの暗号化には、以下の3つのオプションがあります。
- JavaScriptアプリケーション全体を暗号化し、アプリケーションライセンスチェック機能を自動的に追加 <基本機能>
- JavaScriptアプリケーションを機能ごと(クラス、メソッド毎に)にモジュラー型暗号化し、エンドユーザーが機能ごとにアクティベートできるオプション <カスタムライセンシング>
- アプリケーションライセンスの紐づけをせず、JavaScriptアプリケーションの保護(リバースエンジニアリングに対する対抗策として)を適応できるオプション(ユーザーライセンス不要) <IP Protection モード>
今まで、スクリプト言語で書かれたコードをエンドユーザーに提供することは、IP資産を含めたすべての情報の提供を意味し、さらにアプリケーションライセンスを付加し、JavaScriptアプリケーションの使用制限を加えることは困難でした。しかし、AxProtector JavaScriptを導入し上記のセキュリティ機構を適応することにより、それらが可能になります。つまり、他のプログラミング言語で開発されたアプリケーションと同様のライセンスビジネスを実現します。
基本設定
AxProtector JavaScriptは、JavaScriptアプリケーションの保護とライセンシングを統合できます。これは、アプリケーションのすべてのメソッドを、開発者が定義したアプリケーションライセンスで暗号化することを意味します。その後、メソッドは実行時に自動的に復号されます。
エンドユーザーが必要なアプリケーションライセンスを持っていれば、メソッドはその場で復号され、正常に実行されますが、持っていない場合は例外を発生し、アプリケーションを実行できなくなります。アプリケーションライセンスを持っていない場合は例外処理でその状況をキャッチし、エンドユーザーに適切なメッセージを伝えることができます。
メソッドを動的に暗号化しても、アプリケーションのパフォーマンスへの影響はほとんどありません。それでも懸念される場合は、対象メソッドを個別に暗号化の対象から外すこともできます。
カスタムライセンシング
JavaScriptアプリケーションが提供するさまざまな機能に対して、個々のメソッドごとに異なるアプリケーションライセンスを割り当てることができます。
これにより、エンドユーザーは、選択した機能に対してのみアプリケーションライセンスの購入が可能です。これに加えて、他の機能にアクセスした際に、エンドユーザー対応の2つの選択肢を与えることができます。一つ目として、基本機能と同様、アプリケーションライセンスがない場合に例外をキャッチすることができます。そしてもう一つの選択肢では、CodeMeter APIを使い、該当の機能のアプリケーションライセンスが利用可能かチェック(check_license)し、そうでない場合には、その機能を最初から隠蔽します。
IP保護モード
IP Protection モードは、アプリケーションライセンスを必要としない状況(JavaScriptコードの隠蔽のみが必要な状況)を前提に作成できます。基本機能と異なり、JavaScriptアプリケーションはライセンスに縛られません。復号に必要な鍵は、アプリケーション自体に安全に隠されています。このアプリケーションは強力に保護されていますが、いつでも実行可能です。