WPFアプリ配布の注意事項
投稿日時 2015/02/16 00:34:33ゲストさん、こんにちは
高級アプリ製作の極意 ~WPF編~のお部屋へようこそ。
このお部屋では
第13章
の「 WPFアプリ配布の注意事項 」についてお話したいと思います。
ここからは上級編となります
個人の方よりは
企業向けの内容
で、「コスト削減のテクニック」や「ツールノウハウ」や「データの保護」、「業務で気にして欲しいこと」などをまとめていきます。
上級編の最初にお伝えするのは完成したアプリやライブラリの保護についてです
体験版だったり、期限を設けてバージョンアップを強制するなど色々と
販売商品には工夫をする必要
があります。
ライセンスファイル認証
でも
アカウント認証
でも良いので実装します。
と言うのも、
無制限に利用し続けられるのは危険度が高いので避けるべき
です
古いバージョンで動かないって言われてももう直しましたって言うバグもあるわけなので
WPFだけでなく.Net Frameworkを利用したマネージコードは組みやすい代わりにかなりの安全面に問題
があります
マネージコードはコンパイル後にMSILやCILと言う中間言語に変換
されます
このIL言語は組み直すことで処理を改変・編集することが出来てしまいます
どういうことになるかと言うと、
ライセンス認証や起動期限などを付けたとしても
その判定処理自体を削除
してしまえば
無効化
できる
のです
ツールを自由に利用できるだけでなく、ソースコードの中身も読み取れるのでどのような実装をしているかもわかってしまうのです
たくさんのノウハウを自らばらまいているということになります
ソースコードを読めるならそのまま利用して他のアプリを作ることだって出来てしまうのです
販売する商品がそんなのであったら・・・
本当に、おそろしい・・・
具体的に中身が見えているところをお見せしよう
これは
ILSpy
と言うフリーのソフトを利用しています。
私のWPFの講座の第11章で作成した実行ファイルWPF_Sample_06.exeを読込した際の情報が表示されています。
関数の中身が丸見えでしょ・・・
アプリを販売するなら、この
真っ裸のままじゃ怖すぎるので難読化を行う必要
があります
難読かアプリは10種類以上も出ており、10万~20万程度のものが主流のようです
Visual Studioに付属(機能制限版)のDotfuscatorも20万ほどします
予算がある企業なら実績のあアプリを使って難読化することをお勧め
します。
今回、この講座においてわたしが個人と言うこともあるのと、
ライブラリやアプリを販売することも検討しているので数万円程度で購入できるアプリ
を探すことにしました。
日本製やフリーの物など5種類ほど試したところで、ライセンス形式によりますが2~3万程度で購入できる
.Net Reactor
を紹介します。
まずは、
検証も兼ねて体験版を利用
してみました。
英語版と言うことで敷居は高めですが、
出来ることはかなり多い
ですね。
数10万する他のソフトよりも安くて機能が多いのがウリ
のようです
実際、16項目をあげて.Net Reactorは15.5の機能がありますが他の比較されている高額製品は10ほどの機能と差が付いています。(本家サイトの情報元 -> http://www.eziriz.com/comparison.htm)
.Net Reactorで先ほどの実行ファイルに保護をして
みました
読み取り不可能になっています
中間言語のIL自体を削除することが機能としてあるので読み取りが出来なくなるのです
他の製品はアプリが起動しなくなる問題があったり使い物になりませんでしたが
.Net Reactorは問題なし
。
体験版のままだとアプリ起動時に警告メッセージが表示されるので
無償利用はできない
です。
販売する自社製品は大事
に扱いましょう
直近記事のリンク
< | 高度なユーザーインターフェース | | | アプリ製作の設計 | > |