Mac
C#
逆コンパイル
ILSpy

macOSでC#の逆コンパイル

Windowsだと色々手段があるようですが、macOSでさくっとC#の逆コンパイルをする情報があまりなかったので、手順をまとめてみます。
ILSpyというオープンソースの.Netアセンブリのデコンパイラを利用します。

手順

1. .Net SDKのインストール

下記ページから.Net SDKをダウンロードして、インストーラを起動してインストール
https://www.microsoft.com/net/learn/get-started/macos

# シンボリックリンク
$ ln -s /usr/local/share/dotnet/dotnet /usr/local/bin

# 確認
$ dotnet -h
.NET Command Line Tools (2.1.200)
...

2. ILSpyのインストール

$ git clone https://github.com/icsharpcode/ILSpy.git

$ cd ILSpy/ICSharpCode.Decompiler.Console/

# ビルド
$ dotnet publish -c release -r osx-x64

$ cd bin/release/netcoreapp2.0/osx-x64/publish/

# 実行権限をつける
$ chmod +x ilspycmd

$ cp -r ../publish/ /usr/local/opt/ilspycmd

$ ln -s /usr/local/opt/ilspycmd/ilspycmd /usr/local/bin/

# 確認
$ ilspycmd -h

3. 実行

$ ilspycmd test.exe

逆コンパイルできた:tada:

環境

macOS Sierra 10.12.5

参考

https://github.com/icsharpcode/ILSpy/tree/master/ICSharpCode.Decompiler.Console
https://qiita.com/koki_cheese/items/727577ab830a44050dcc