どのような CLR/.NET バイトコード ツールが存在しますか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/123690

  •  02-07-2019
  •  | 
  •  

質問

私は、JVM バイトコード (ASM、cglib、jad など) を操作、生成、逆コンパイルするための Java ツールをよく知っています。CLR バイトコードにはどのような同様のツールが存在しますか?CLR のバイトコード操作を行う人はいますか?

役に立ちましたか?

解決

バイトコードはバイナリ形式です。.NET アセンブリは、実行命令を格納する方法の点でかなり異なります。

.NET 言語は、バイトコードのような構造にコンパイルする代わりに、中間言語 (実際には、単に IL と呼ばれています) にコンパイルされます。

これは人間が読める言語で、アセンブラのオブジェクト指向バージョンに似ています。

したがって、個々のアセンブリの IL を調べたり操作したりする場合、Reflector や ILDASM などのツールを使用すると、任意のアセンブリの IL を簡単に表示できます。

操作は少し異なります。.NET スペースの AOP ツールのいくつかを検討することをお勧めします。MS が開発中のコンパイラ プロジェクトである Phoenix も検討してみることをお勧めします。これには、非常に優れたコンパイル後の操作機能がいくつかあります。

.NET AOP ツールについてさらに詳しく知りたい場合は、別の質問を開くことをお勧めします (これはまったく別のワームの缶詰です)。

イリノイ州の隅々まで学べる本も何冊かあります。学習するのはそれほど複雑な言語ではありません。

他のヒント

Reflector は常に優れていますが、総合的に考えれば Mono.Cecil が最良のツールです。これは、CIL を何らかの方法で操作する場合に非常に貴重です。

モノ・セシル ASM のような優れたツールです。これは Mono のサブプロジェクトであり、完全にオープンソースです。さらに提供します より良い機能 System.Reflection よりも。

イルダズム そして リフレクター 思い浮かぶ。

N依存する .NET アセンブリの静的分析 (コード メトリック、依存関係分析など) を実行できます。NDepend は、依存関係マトリックス、依存関係グラフ、ツリーマップ メトリックを使用して .NET アセンブリの構造の概要を取得するのに非常に役立ちます。 視覚化.

リフレクターとも統合されています。たとえば、それぞれタイプ/メソッドを使用して、アセンブリ内の重要なタイプとメソッドを検出できます。 ランクメトリック (Google ページ ランクに似たコード メトリック)、NDepend から Reflector に直接ジャンプして、C#、VB.NET などで逆アセンブルされたコードを取得します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top