問題タブ [ilasm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
829 参照

c# - 静的フィールドをロードする方法は?

Reflection.Emitを介して、静的フィールドnum1、num2などのタイプを生成しています。

生成された型の静的フィールドの内容を静的メソッドの評価スタックにロードするコードを出力する方法がわかりません。私がこれまでに試したことは次のとおりです。

しかし、静的メソッドに提供されていない「this」にインスタンスフィールドをロードしようとするため、明らかにこれは機能しません。

静的フィールドにアクセスするには、どのオペコードを使用する必要がありますか?

0 投票する
2 に答える
1611 参照

.net - .net の修復後に Ilasm.exe が見つからない

.net 4.0 を修復しましたが、(まだ) 見つかりません:

Ilasm.exe

何か案は?これを行うにはそれが必要です:

アセンブリの厳密な名前の署名

0 投票する
1 に答える
281 参照

.net - ILAsmスローをMono.Cecilによる再スローに置き換えるにはどうすればよいですか?

次のようなメンバーを持つC#dllがあります。

スローオペコードを取得する方法を理解しました:

私の質問は、スローオペコードを再スローオペコードに置き換えるにはどうすればよいですか?

0 投票する
3 に答える
1452 参照

c# - この MSIL コードを正しく理解できていますか?

私はC#で次のコードを持っています

そして、私は IL コードを読んでいます。以前にアセンブリをプログラムしたことがないので、各行の動作が正しいかどうかを尋ねています。

このプログラムを正しく理解していますか?

0 投票する
1 に答える
989 参照

c# - ProcessInfo を使用して ILAsm を実行できない

Bat ファイルと C# を使用して IL コードをコンパイルしようとしています。ここにC#コードがあります

ここにバットファイルがあります

ILAsm を実行するための文字列はまったく同じです (つまり、processStartInfo.Arguments = Arguments = "c:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\ilasm.exe Source.il /exe /output:my-assebmly.exe /debug=IMPL")

それにもかかわらず、C# を使用して実行するとエラーが発生します。

お使いのコンピューターに Fusion.dll が存在しないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。

どうすれば修正できますか? C# を使用して ILAsm を実行する必要があります。

0 投票する
3 に答える
4578 参照

compiler-construction - ILASM を使用して IL を EXE にコンパイルすると失敗する

何が悪いのかを理解するのに何時間も費やしました。MonoDevelop で .il をデバッグしてテストしたので、プログラムが機能していることはわかっていますが、コンパイルできません。これは、コマンド プロンプトからのログです。

http://pastebin.com/NYWAbrUV

どんな助けでも感謝します。

0 投票する
1 に答える
359 参照

.net - mdbgで評価スタックを確認できますか?

次のCILがあるとします。

次にilasm /debug main.il、mdbgで使用するexeファイルとpdbファイルをアセンブルするために使用します。


私の質問は、3行目で、操作が実行される前に、前にロードした2つのint32定数40と2を表示する評価スタックaddを確認したいということです。

この評価スタックをmdbgで表示するにはどうすればよいですか?

0 投票する
2 に答える
16250 参照

c# - .NET のバージョン/環境に関係なく、ildasm.exe および ilasm.exe ファイルのファイルパスを見つける確実な方法は?

ildasm.exe/ilasm.exe 実行可能ファイルの FileInfo/Path をプログラムで取得する方法はありますか? dll / exeファイルにいくつかの変更を加えた後、適切に逆コンパイルして再コンパイルしようとしています(PostSharpはコンパイル後にILを変更するのと同様のことをしていると思います)。

次のようなブログ投稿を見つけました。

ただし、このコードを実行したときにディレクトリが存在しなかったため (主に SDK のバージョンが 7.1 であるため)、ローカル マシンの正しいパスは@"Microsoft SDKs\Windows\v7.1\bin". ildasm.exe を実際に見つけられるようにするにはどうすればよいですか?

同様に、ilasm.exe にアクセスする方法に関する別のブログ投稿を次のように見つけました。

これが機能している間、Framework と Framework64 があり、Framework 自体に v4.0.30319 (Framework64 と同じ) までのすべてのバージョンがあることに気付きました。では、どちらを使用するかをどのように知ることができますか? 対象としている .NET Framework のバージョンに基づく必要がありますか?

概要:

  • ildasm.exe への正しいパスを見つけることを適切に保証するにはどうすればよいですか?
  • コンパイルする正しい ilasm.exe を適切に選択するにはどうすればよいですか?
0 投票する
1 に答える
2187 参照

winforms - ilasm を使用したトークン MZ での構文エラー

使用しようとしているビルド済みの dll アセンブリがあります。これは winforms ライブラリであり、参照するとデザイナー/コードでエラーなしで使用できます。実行すると、次のようになります。

アセンブリの生成に失敗しました -- 参照されたアセンブリ 'YARTE' に厳密な名前がありません

ildasm => ilasm ラウンドトリップを実行することにしましたが、このエラーが発生し続けます

私は他の場所で多くの助けを見つけていませんが、これはまれな問題ではないと思います.

0 投票する
1 に答える
2447 参照

.net - アセンブリの再コンパイルとアセンブリの負荷の問題

実行可能ファイル(Foo.exe)とライブラリBar.dllがあります。両方のバイナリは厳密な名前で署名されていません。Bar.dllライブラリは実行可能ファイルに依存しており、マニフェストで次のように指定されています。

ildasmとilasmを使用してFoo.exe->msil->Foo.exeからラウンドトリップします。ildasmを使用して逆コンパイルすると、単一の.ilファイル、.resファイル、および複数の.resourcesファイルが生成されます。私はそのような方法でアプリケーションを再コンパイルします:

再コンパイル後、アプリケーションは機能し、起動できます。問題は、実行可能ファイルに依存するライブラリBar.dllが、再コンパイル後にロードに失敗することです(Foo.exe実行可能ファイル)。これは、融合ログが私に与えるものです:

再コンパイルの前に、ファイルは正常にロードされ、フュージョンログの唯一の違いは最後の4行です。