やっつけ不定記

好きなときに好きなことをちゃっちゃと書いてます

MS Application Inspectorでソースコード解析

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/
から閲覧できるようにしています。

画像は解析結果の一部ですが、ページ内のリンクを辿ると他にも見ることができます。
ちゃんと追えていませんが、解析実行時のオプション次第では、より細かい解析ができそう。

f:id:chocopurin:20200601222311j:plain

f:id:chocopurin:20200601222316j:plain