私がアセンブリをNGしている場合、ildasmはまだそれを分解するのが普通ですか?(ILDasmを使用して)NGen-edアセンブリを分解できますか?
私はHelloWorldクラスライブラリを作成し、その後のDLLの名前はNGenILDasmTest.dllです。 は - > VS 2010コマンドプロンプトからの.Net FW 4.
を対象に、私は、私はアセンブリがGACにインストールされ見ることができました
gacutil -i NGenILDasmTest.dll
をしました。そして、私はILを見たので、ildasmを実行しました。 これまでのところとても良いです。
それから私は
ngen NGenILDasmTest.dll
を(私はNGENのための任意のオプションを指定しなかった)を実行します。そして、このアセンブリは正常にコンパイルされました。私はNGEN-EDアセンブリの内容を見ることができました
ildasm "C:\Windows\Assembly\NativeImages_v4.0.30319_32\NGenILDasmTest\81d49dd4c7df22fb3df530402b58ffc9\NGenILDasmTest.ni.dll"
下回るようILDASM実行したとき、私は、今すぐフォルダ
C:\Windows\Assembly\NativeImages_v4.0.30319_32\NGenILDasmTest\81d49dd4c7df22fb3df530402b58ffc9
下の名前NGenILDasmTest.ni.dllでそれを設置しました。これは正常ですか?
技術的に言えば、NgenはIL用のネイティブCPUインストルメントを生成します(私の場合、明らかにC:\ windows \ Assembly \ NAtiveImages_V4。##### _ 32)。そうであれば、ILDasmを使ってNGEN-edアセンブリをILとしてどのように見ることができますか?
ここで私が紛失している「ちょっとしたこと」を理解してください。
+1これは正確です。 –
@vcsjones私は同意します!あなたの答えの中のそのリンクはすべてそれを説明します。真のリバースエンジニアリング。私はNGenILDasmTest.dllによって/ releaseと/ debugモードの両方でseparetelyでビルドを試みました。それでも差はないようです。もう1つの点は、元のアセンブリNGenILDasmTest.dllのサイズが5KBで、エクスプローラに表示され、Ngen-edアセンブリアセンブリNGenILDasmTest.ni.dllが10KBであることです。 2番目の考えがなければ、それは "NGENのアセンブリはILとネイティブコードです"という声明を信じさせます。 – gmaran23