VRCSDKのdllに隠蔽された実装を確認する必要があったが、Windowsでやりたくなかったので、macOSでILSpy環境を用意した時のメモ

前提:過去バージョンの話

大筋は下記記事の通りだが、.NET6で扱う場合色々変更が必要なので色々。

ちなみに、.NET7だとまた話が変わるので注意。

基本的な流れ

リポジトリは昔から変わってないけど、最新版は.NET7を要求してくるので、.NET6環境では、過去のリリースを使う必要あり。
また、.NET6だとマルチアーキテクチャ対応の設定ファイルになっているため、-fオプションで指定が必須

まぁ、コマンド的にはこんな感じになる。

git clone https://github.com/icsharpcode/ILSpy.git
cd ILSpy
git checkout refs/tags/v7.2.1
cd ICSharpCode.Decompiler.Console
dotnet publish -c release -r osx-x64 -f net6.0

で、バイナリが

bin/release/net6.0/osx-x64/publish/ilspycmd

と生成されるので、適当に chmod +x で実行権限つけて、パス通った場所に配置しよう。

依存ツール

.csprojのPost処理で、PowerShellを使用しているため、 入っていないとエラーでビルドが止まります。

公式(https://learn.microsoft.com/ja-jp/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.3)の通りで多分大丈夫。

brew install --cask powershell

で入れましょう。

使い方

ilspycmd *.exe | *.dll 

でソースを吐いてくれるので、適当にリダイレクトしたやつを、任意の静的解析に喰わせましょう。

Previous Post Next Post

【2023年6月版】ILSpyをmacOSに入れる