>>298
295じゃないけどC#は言語仕様のせいで逆コンパイルされやすい
ソースをコンパイルすると中間言語になって、それを仮想マシンが解釈して実行するわけだが、
この中間言語には元の情報がたくさん入ってしまっている
だからネイティブコード(0と1の機械語)になる前の中間言語を狙うと高精度でロジックを再現できる
この特徴はJavaも同じ