このサイトを作成した当初の目的は、Windowsのデスクトップアプリを公開する場所を作るためでした。サイトの準備ができたので、やっとアプリが公開ができました。
というわけで、2018月4月22日にFile Package App (ファイルパッケージアプリ)をここに公開しました。このアプリの紹介をしたいと思います。
このアプリは、「自己展開形式EXEファイル作成アプリ」です。「自己展開形式EXEファイル作成アプリ」とは、複数のファイルを一つのファイルにまとめ、EXEファイルとして出力するアプリです。作成したEXEファイルが、自己展開形式の実行ファイルとなります。
作成したEXEファイルを配布すると、複数のファイルを一つのファイルとしてダウンロード用に公開することができます。
展開先には一時フォルダーやユーザーフォルダー(デスクトップやドキュメントフォルダーなど)を指定できます。また、展開時にユーザーにフォルダーを選択してもらうこともできます。
展開した後、指定のファイルを起動することができるので、複数のファイルで構成されるインストーラーを一つのファイルにパッケージする用途にも利用できます。
もちろん、前回の投稿(dllハイジャッキング脆弱性について考える2)で説明した仕組みの脆弱性には対応済みです。
この種類のアプリでは、作成した自己展開形式EXEファイルは最新のWindows OSだけでなく、古いWindows OSでも利用されることが考えられます。
そのため、このアプリでは、作成した自己展開形式EXEファイルのサポートOSは、Windows XPからWindows 10までと幅広く対応しています。
自己展開形式EXEファイルを作成できるアプリは数多くありますが、dllハイジャッキングの脆弱性に古いWindows OSまで対応できているものはあまり多くありません。
ただ、このアプリでは作成した自己展開形式EXEファイルが安全にWEB公開できることを優先したため、機能としてはあまり多くありません。
概要
このアプリでは、自己展開形式EXEファイルを作成するアプリとして、基本機能を実現しました。
パッケージ作成アプリとしての機能
標準機能 (作成時に必ず設定が必要で常に機能します)
- 自己展開形式EXEファイルを作成する機能
- パッケージファイルのバージョンリソースのバージョンを設定する機能
- パッケージするファイルは一つのグループ項目(ルートフォルダー)が指定できる
- グループを展開する場所として一時フォルダーに加えユーザーフォルダー(デスクトップやドキュメントフォルダーなど)も指定可能
オプション機能 (作成時の設定で機能を有効にすることができます)
- 展開実行時にユーザーが展開フォルダーを選択ができる機能(フォルダー選択ダイアログを表示します)
展開する場所として一時フォルダー以外を指定した場合に利用できます。実際に展開する場所をユーザーに選択させたい場合に利用できます。 - 展開後に展開したファイルを実行する機能
自己展開型インストーラーとしてパッケージするときには、展開後に実行するインストーラー本体を指定します。ドキュメントファイルも指定できるので、ReadMe.txtなどを表示することもできます。ファイルを実行するときに強制的に権限昇格(エレベーション)することもできます。インストーラーなど実行されたモジュール側で必要に応じて権限昇格(エレベーション)するのであれば、「強制的な権限昇格」の設定は必要ありません。 - 実行するプラットフォーム(32ビット/64ビット)を制限する機能
- デジタル署名の有効性を確認する機能
拡張機能 (現在は評価版としてのみ利用できます)
- 拡張機能を利用すると設定項目が増えます。
作成した自己展開形式EXEファイルの機能
標準機能 (作成時の設定にかかかわらず常に機能します)
- パッケージの作成時に指定した設定に従ってファイルを展開する機能
- パッケージファイルが改ざんされていないか確認し改ざんされていなければファイルを展開する機能
この改ざん検出アルゴリズムは簡易的なものです。ハッシュアルゴリズムを利用した本格的な改ざん検出にはデジタル署名の検証機能を使用してください。 - すべてのサポートOSにおいてdllハイジャッキング脆弱性の対策済み
オプション機能 (作成時の設定で有効に設定したときのみ機能します)
- ファイルの展開後に展開したファイルを実行する機能
たとえば、自己展開型インストーラーとしてパッケージしたときには、展開後にインストーラー本体を実行します。ファイルを実行するときに強制的に権限昇格(エレベーション)することもできます。 - パッケージファイルのデジタル署名を検証し、署名が有効であれば展開する機能
パッケージファイルが「デジタル署名が存在しない」、「デジタル署名が無効である」、「ファイルが改ざんされている」状態がであればファイルを展開しません。この機能を利用するには、作成したパッケージに有効なデジタル署名をする必要があります。 - 展開するWindowsのプラットフォームを制限する機能
「64ビットWindowsのときのみ展開する」または「32ビットWindowsのときのみ展開する」という展開の制限ができます。通常は32ビットWindows・64ビットWindowsのどちらのプラットフォーム上でも展開します。
拡張機能 (現在は評価版としてのみ利用できます)
- 拡張機能が利用されていたときは、起動時に評価版としてのメッセージが表示されます。
“自己展開形式EXEファイル作成アプリを公開1(概要)” への1件の返信