MATLAB Compiler スタンドアローンアプリケーションを、CodeMeterで保護しライセンスを付ける方法
録画版を好評配信中
ライセンシングできることのメリット
MATLAB Compiler や Simulink Compiler を使用して作成されたスタンドアローンアプリケーションは、MATLABライセンスを必要とせず、複製もできるため、不特定多数の人に配布するには便利です。
しかし、意図しない第三者への流出リスクもあります。CodeMeterにより、スタンドアローンアプリケーションにライセンシングを適用すると、意図したライセンス要件(使用本数、機能、期間、等)でスタンドアローンアプリケーションを管理しつつ、エンドユーザに提供できるようになります。これによりソフトウェア販売/課金ビジネスを構築することも可能となり、不正利用を防ぎソフトウェアビジネスの収益力向上に繋がります。
このウェビナーでは、MATLAB Compiler で提供されている魔法陣関数のスタンドアローンアプリケーションにCodeMeterを用いてライセンシングを適用する手順についてデモを交えて説明します。
※デモの詳細は、ページ下で説明しています。
このウェビナーでは、CodeMeterの概要とライセンシングの仕組みについて解説した後に、MATALB Compilerのスタンドアローンアプリケーションとの統合について、デモを交えながらご紹介します。
このソリューションを導入することで、新たな収益化の機会を増やすきっかけになる事を期待しています。
- CodeMeter の概要
- ライセンシングの仕組み
- MATLAB Compilerのスタンドアローンアプリケーションとの統合
- デモ
- Q&A
録画版を視聴(登録不要)
実際に評価してみたい方は、こちらから評価版をお申し込みください。
デモの手順 ※準備するもの:MATLAB Compiler、CodeMeterのSDK(評価版)
MATLAB Compiler のサンプルアプリケーションにCodeMeter を適用
MATLAB Compiler のサンプルアプリケーションとして、魔方陣を作るMATLAB 関数”magic” をスタンドアロンアプリケーションとしてパッケージ化するMATLAB コードが用意されています。ここでは、このサンプルアプリケーションにCodeMeter のライセンシングを適用し、PC にUSBドングルを挿した場合のみ起動する手順を紹介します。前述の通り、CodeMeter は、ドングル以外にもソフトウェアライセンスやクラウドで管理するライセンス形態を作成することも可能です。
そのままの状態でスタンドアロンアプリを動かしてみる
MATLAB 側でスタンドアロンアプリケーションは作成済みであり、配布先側(ターゲットPC )には、MATLAB Runtime のインストール、およびFor_redistribution フォルダが既にコピー済みの状態で開始します。For_redistribution フォルダ内の、MyAppInstaller_web.exe インストーラを起動すると、C:\Program Files\magicsquare フォルダが作成されます。
まずは、そのままの状態で、魔方陣アプリケーションを起動してみます。魔方陣アプリケーションには、GUI は無く、コマンドプロンプトで、起動時に魔方陣のサイズ(行列数)をパラメータとして入力するだけのアプリケーションなので下記のコマンドを実行します。
図1: MATLAB Compiler で作成したスタンドアロンアプリケーション(魔方陣)の実行画面
>application>magicsquare 5
上記の画面では、5x5 、および3x3 の魔方陣が表示されています。(まだライセンシングを掛けていませんので当然起動します)
CodeMeter でライセンシングを掛ける
図2:AxProtector でライセンシング対象のファイルを指定
CodeMeter のAxProtector を使い、スタンドアロンアプリケーション(magicsquare.exe) を保護し、ライセンスを紐付けるための「Product Code 」を割り当てます。AxProtector は、対象アプリケーションのソースコードを変更することなく、ファイルを指定するだけで保護およびライセンシング対象にすることができます。
図3:元のファイル名と、ライセンス適用後の保存先のファイル名を指定
今回のmagicsquare.exe は、Windows アプリなので、AxProtector のプロジェクトタイプは「Windows Application or DLL 」を選択します。
Source file (ソースファイル/ライセンシング対象のファイル)欄には、magicsquare.exe を指定し、Destination file (保存先ファイル/ライセンシング済みファイル)欄には、図3 のようにフォルダを分け、ファイル名は、magicsquareP.exe としています。
Licensing Systems のタブでは、Firm Code と Product Code を設定します。(図4)
Firm Code:6000010(評価用Firm Code)
Product Code : 14
図4:アプリケーションをライセンスに紐づけるためにFirm Code とProduct Code を設定
Security Options のタブでは、[Dynamic code modification] のチェックを外してください。(図5)これはアプリケーションが実行されている間、動的セキュリティチェックを行う設定ですが、MATLAB Compiler およびSimulink Compiler で作成されたスタンドアローンアプリケーションは、この設定はオフにしないと動作しません。
図5:Security Options 設定画面
ライセンシングが掛かったアプリケーション(magicsquareP.exe) の起動を試みると、図6 のようにライセンスが見つからない、というエラーが表示されます。(想定通り)
図6:ライセンスエラー表示
次に、このスタンドアローンアプリケーションのアクセス権限を持つライセンスを作成し、USB ドングルに書き込みます。(図7)
図7:CodeMeter License Editor でドングルにライセンス情報を書き込む
Product Code は、前述のAxProtector を用いた、スタンドアローンアプリケーション(magicsquare.exe) の暗号化を実施した際に設定した、Product Code 「14 」と同じにすることで、アプリケーションとラ
イセンスを紐付けます。今度はライセンスを搭載したUSB ドングルをPC に挿した状態で、ライセンシングが掛かった、スタンドアローンアプリケーション(magicsquareP.exe)を起動してみます。
図8:ライセンシング適用後の魔方陣アプリケーション実行画面
無事にアプリケーションは起動し、行列サイズが5と7の魔方陣を作成することができました。
Simulink Compiler のサンプルアプリケーションにCodeMeter を適用
Simulink Compiler のサンプルとして提供されている、バネ・質量・ダンパーのシミュレーションアプリケーションもMATLAB Compiler と同様の手順で、CodeMeter のライセンシングを掛けることができます。
まとめ
MATLAB Compiler やSimulink Compiler で作成したスタンドアローンアプリケーションは、手軽に配布できる反面、意図した範囲内での使用に制限したい場合など管理することは困難です。CodeMeter を使うことにより、シンプルな手順でライセンシングを適用することが可能であり、流出や不正コピーを防ぐだけでなく、配布先で使用可能な本数、ライセンス期間、機能、バージョンなど、必要に応じた様々なライセンス要件を策定した上で、ソフトウェアビジネスを構築することができます。画像認識、機械学習、センシング、AI 、物理シミュレーション、など益々ソフトウェアには高度なアルゴリズムと知的財産が搭載され、適切に・管理することにより求められているなかで、CodeMeter は、アプリケーションソフトウェアの保護とソフトウェアビジネスの収益化に貢献します。
ユーザー事例
- リーダー電子株式会社(カメラの解像度測定用ソフトウェア)
CodeMeter製品は、WIBU-SYSTEMS株式会社から直接購入可能です。
貴社の課題をCodeMeterで解決しませんか?お気軽にお問合せください。
お問合せ