問題タブ [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.
c++ - ILDASM: どのように機能しますか?
ILDASM の使用例はたくさんありますが、ILDASM がどのようにデータを入力するかについての情報はまだ見つかりません。誰でも私のためにこれに光を当てるのを手伝ってもらえますか?
編集:C++からこれを行うことに興味があることに言及する必要があります。
c# - .il ファイルを .dll にアセンブルする方法
ILDASM を使用して WPF (Prism).dll ファイル (Microsoft.Practices.Prism.UnityExxtensions.dll) を逆アセンブルしたところ、.IL、.res、.g.resources などの拡張子を持つ 3 つのファイルが得られました。.IL ファイルのメタデータで参照ファイルのバージョン番号を変更しました。ここで、再度 .dll にアセンブルする必要があります。
c# - Visual Studio コンパイラはどのようにセキュリティ属性を CIL にコンパイルしますか?
SecurityPermission(SecurityAction.Assert)
クラスのメソッドに次の属性があります。これをコンパイル (デバッグ ビルド) し、ildasm.exe の出力を表示します。生のヒープを表示し、PermissionSet BLOB を含む BLOB ヒープを調べます。私が期待するのは(ECMA-335による)次のとおりです。
しかし、私が見たのはこれでした:
01 00
特に、私が期待していた最後の に注意してください00 00
。仕様では、カウントされた文字列の後に名前付き引数の数を指定する必要があります。名前付き引数を渡さないので、その数値は 16 ビットの 0 であると予想しました。
これは、Visual Studio 2013 を使用して .NET 2.0 に対してコンパイルされます。
さらに複雑なことに、名前付き引数を追加すると、次のようになります。
もう一度、属性のカウントされた文字列の最後を見ると12 01
、名前付き引数リスト (1 つの項目のリスト) が続いていることがわかります。01 00
これは、名前付き引数の数が 16 ビットのリトルエンディアン 1 であると予想していました。
これに基づいて、カウントされた文字列の後の 2 番目のバイトが名前付きパラメーターのカウントであると想定していますが、最初のバイトが何であるかはまだわかりません (最初の例では 0x01、次の例では 0x12)。
2 番目の名前付き属性を追加すると、最初のバイトが 26 に変更され、3 番目の名前付き属性を追加すると、33 に変更されます。数字が増加しているという事実以外に、数字の明らかなパターンは見当たりません。
手動で PermissionSet blob を作成しようとしており (CLR プロファイラーを作成しています)、そのバイトに何を入れるかを知る必要があるため、この質問をしています。
c# - 特定のdllを参照するすべてのアセンブリを見つける方法は?
多数のdlls
. 特定の を参照するものをすべて見つける必要がありますdll
。
私は次の解決策を考えています:
- アセンブリをループし、それぞれを呼び出す
ildasm
manifest
をテキストファイルにダンプします- 必要なアセンブリ名のテキスト ファイルを検索します。
しかし、この解決策は私にとって非常に間違っていると感じています。それを達成するためのより良い方法はありますか?
c# - 逆アセンブル時の .net アイコンの損失
コマンド「ildasm MyApp.exe /output:MyApp.il」を使用してアプリケーションを分解すると、いくつかのリソース ファイルと MyApp.il が生成されました。その後、生成されたすべてのファイルと .il ファイルを ilasm.exe のフォルダーにコピーしました。コマンド「ilasm MyApp.il」を使用してビルドした後、MyApp.exe ファイルが生成されましたが、アイコンはありませんでした。アイコンの復元を手伝ってください、ありがとう。