問題タブ [ildasm]

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 に答える
6179 参照

mono - MonoにはILDASMと同等のものがありますか?

モノラルのILDASMに相当するものはありますか?

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

.net - System.Reflection-グローバルメソッドはリフレクションに使用できません

System.Reflectionは、アセンブリ内のグローバルメソッドへの反映をサポートしていません(AFAIK)。アセンブリレベルでは、ルートタイプから始める必要があります。

私のコンパイラはグローバルメソッドを使用してアセンブリを生成できます。標準のブートストラップライブラリは、いくつかのグローバルメソッドを含むdllです。私のコンパイラはSystem.Reflectionを使用して、コンパイル時にアセンブリメタデータをインポートします。System.Reflectionに依存している場合、グローバルメソッドは可能ではないようです。最もクリーンな解決策は、すべての標準メソッドをクラス静的メソッドに変換することですが、要点は、私の言語はグローバルメソッドを許可し、CLRはそれをサポートしますが、System.Reflectionはギャップを残します。

ildasmはグローバルメソッドを問題なく表示しますが、System.Reflection自体を使用せず、メタデータとバイトコードに直接アクセスすると思います。

System.Reflectionの他に、私が利用できる他のサードパーティのリフレクションまたは逆アセンブルライブラリを知っている人はいますか(最終的にコンパイラを無料のBSDライセンスのオープンソースとしてリリースすると仮定します)。

解決済み:私の知識を除いて、ギャップはありません。GetModulesを指摘してくれてありがとう、みんな!

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

.net - 一般に、ilasm 構文を Reflection.Emit 呼び出しに変換する方法は?

私は専用のミニ コンパイラを作成しており、逆アセンブルされた CIL をよく見て、やり方を理解しています。しかし、逆アセンブルされたコードを Reflection.Emit 呼び出しに変換する方法が明確でないことがよくあります。この翻訳を行うための参照マニュアルまたはその他の情報源はありますか?

編集: はい、オペコードを ILGenerator にマッピングするのは非常に簡単です。私は .directives や属性のような他のすべてのものについて話しています。たとえば、次のようなものに相当する Reflection.Emit の書き方をどのように見つけますDictionary<TKey,TValue>か?

または、「param」ディレクティブはどうですか?

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

.net-3.5 - .net プログラムを逆アセンブルして再アセンブルすると、グラフィックが表示されない

私はソフトウェアを持っています。PEファイルを逆アセンブルすると

foo.MainFormやなど、たくさんのファイルを取得しますfoo.bar.dll。その後、ファイルを再アセンブルしようとすると

正常に動作する foo.exe が再び表示されますが、新しいファイルでは小さいグラフィックスの一部が欠落しています (ファイルも 200kb 小さくなっています)。他のいくつかのグラフィックスは機能しているので、逆アセンブルまたは再アセンブルで何かが欠けているようです。どうすればこれを修正できますか?

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

c# - ILDasm Visual Studio 2010

Visual Studio 2010内から次のことを実行できる便利な方法またはツールはありますか?

ILDasmを起動するILDasm内のVisualStudio内から現在のアセンブリを読み込みます。

Visual Studioコマンドプロンプトを起動するのとは対照的に、表示したいアセンブリのbinフォルダーに移動するIldasmを起動します。

これを行うために利用できるものがない場合、役立つツールはありますか?

乾杯

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

.net - .NET の Ildasm.exe ツールがすべてのソース行を出力ファイルにダンプしていないように見える

会社が作成した VB .NET 実行可能ファイルのソース行を読み取るユーティリティを作成しています。ildasm.exe ユーティリティを次のように使用しています。

ildasm.exe /NOBAR /UNICODE /SOURCE "AssemblyToRead.exe" /OUT="App_Dir\CodeOutput\CodeOutput.txt"

これにより、一部のソース行が CodeOutput.txt ファイルにダンプされます。ただし、すべてのソース ファイルの先頭でソース行が欠落しているようです。ソース ファイルの最初の 10 ~ 20 行のコードが欠落していることは珍しくありません。他のほとんどのラインは忠実に作成されているようです。誰かが私が間違っていることを知っていますか? ありがとう

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

c# - 署名されていない相互に依存するサードパーティ ライブラリへの署名

私のプロジェクトでは、一連の未署名のサード パーティ ライブラリ (.Net 2.0 でコンパイル) を使用しています。ildasm と ilasm を使用してこれらのライブラリに署名する方法は既に知っています。ただし、問題は、サードパーティのライブラリが相互に依存していることです。その結果、ilasm の後、プロジェクトをコンパイルすると、lib1.dll が lib2.dll の「PublicKeyToken=null」エディションを探しているため、「missing reference」エラーが発生します。

また、3 つの「.il」ファイルすべてを 1 つのライブラリにコンパイルしようとしましたが、「複数のアセンブリ宣言」でエラーが発生しました。

これを回避する方法はありますか?

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

.net - 単一の .NET 型とそのすべての依存関係を逆アセンブルするツールはありますか?

型を逆アセンブルしたいとします。ただし、この型は同じアセンブリ内の他の型に依存します。ある意味では、特定の型によって定義されたクロージャを逆アセンブルできるようにしたいと考えています。

C# への逆アセンブルには興味がありません。ildasm が生成するのと同じように、プレーンな IL コードは問題ありません。

ありがとう。

編集1

It is very important for me to be able to recompile the code back again. It is because of this that I cannot use Reflector, which produces illegal C# code from the compiler perspective for all, but the most simple cases. It is very useful to learn the code and debug it, if you have the Pro version, but not to disassemble and reassemble it back.

EDIT2

BTW, the same is true for the IL code generated by the Reflector - it is not suitable for recompilation, unlike the code produced by ildasm, which is. Granted, Reflector produces much more readable code, alas - not for the compiler.

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

visual-studio-2010 - カスタム属性は、VS 2008 ソリューションを VS 2010 に移行する際の一貫性のないエラーです

VS 2008 ソリューションを VS 2010 に移行しようとしています。ターゲット フレームワークを 4.0 のままにしておくと、すべてが完全に機能します (コンパイルとリンク)。

フレームワーク 2.0 を変更し、プラットフォーム フレームワーク v100 を変更すると (過去のコンパイル エラーを取得するため)、次のようなメタデータ リンク エラーが発生するだけです。

エラー LNK2022: メタデータ操作に失敗しました (80131195): カスタム属性に一貫性がありません: (0x0c0000f7)。C:\Development\Main\Filemaster\SoxService\MSVCMRTD.lib(managdeh.obj)

ILDAsm を使用することになっていることを読みましたが、obj ファイルが気に入らず、リンクが完了していないため、ロードする exe がありません。

エラーの種類を見つける方法について誰かアドバイスをいただけますか?

ツールと戦うことほど嫌いなことはありません。

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

mono - mono の monodis ツールは Microsoft .NET アセンブリに対して機能しますか?

monodis ツールは、ILDASM が Microsoft .NET に対して行うのと同じことを Mono に対して行うことを知っています。しかし、monodis ツールは、Microsoft と同じファイル レイアウトで動作するため、Microsoft .NET アセンブリに対して動作するという点で .NET と互換性がありますか?