5月25日
https://chocopurin.hatenablog.com/entry/2020/05/25/013720
に書いたMicrosoft Application Inspectorの続きです。
このときに作成した環境で、実際に適当なソースコードを解析してみました。
[準備]
古めのZen-Cartを題材にしました。
https://ja.osdn.net/projects/zencart-jp/
からDLしたzen-cart-v1.2.0-l10n-jp-6.zipを展開して/tmp/target/に置きます。
[解析]
導入が完了していると、実行モジュール(ApplicationInspector.CLI.dll)と
結果ひな形(htmlディレクトリ)が/tmp/publishに配置されています。
これを使って解析を行います。
# cd /tmp/publish
# dotnet ApplicationInspector.CLI.dll analyze -s /tmp/target/zen-cart-v1.2.0-l10n-jp-6
を実行すると、
-----
Analyze command running
~% source files processed
-----
な感じで解析が行われます。
メモリ4GBを割り当てたVM環境だと10分弱で完了しました。
どうもZen-Cart内にあるunreal.zipが壊れていたようで、
-----
5% source files processedFailed to parse
/tmp/target/zen-cart-v1.2.0-l10n-jp-6/download/unreal.zip:unreal.zip
-----
というメッセージが表示されましたが、今回は解析動作の確認なので無視します
(実際にunzipしても失敗したので、本当に壊れていたと思われます)。
[結果確認]
カレントディレクトリに2つの結果ファイル
output.html
output.json
が出来上がります。これらと結果ひな形(htmlディレクトリ)を
同じディレクトリに配置すると、ブラウザで閲覧できるようになります。
別途Webサーバを導入しておくと、ネットワーク経由で閲覧可能になります。
本エントリーでは、コンテナ内で別途
# apt-get update
# apt-get install -y apache2
# /etc/init.d/apache2 start
でApacheを入れたうえで、ディレクトリ
/var/www/html/result/
から閲覧できるようにしています。
画像は解析結果の一部ですが、ページ内のリンクを辿ると他にも見ることができます。
ちゃんと追えていませんが、解析実行時のオプション次第では、より細かい解析ができそう。