問題タブ [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.
c# - 署名されていない相互に依存するサードパーティ ライブラリへの署名
私のプロジェクトでは、一連の未署名のサード パーティ ライブラリ (.Net 2.0 でコンパイル) を使用しています。ildasm と ilasm を使用してこれらのライブラリに署名する方法は既に知っています。ただし、問題は、サードパーティのライブラリが相互に依存していることです。その結果、ilasm の後、プロジェクトをコンパイルすると、lib1.dll が lib2.dll の「PublicKeyToken=null」エディションを探しているため、「missing reference」エラーが発生します。
また、3 つの「.il」ファイルすべてを 1 つのライブラリにコンパイルしようとしましたが、「複数のアセンブリ宣言」でエラーが発生しました。
これを回避する方法はありますか?
c# - プロダクションで使用するために ILAsm ファイルから .property ステートメントを削除しても問題ありませんか?
ILAsm ファイルの変更に基づいた難読化プログラムにまだ取り組んでいます。(参照。難読化すべきではない C# メソッド名はどれですか? )
ILAsm コードを見ると、.property ステートメントは何にも (少なくともプログラムの実行には) 使用されていないという印象を受けます。Visual Studio のメタデータを提供するためだけに存在すると考えているのは正しいですか? その場合、ILAsm コードが Visual Studio で使用されることのない製品モジュールを生成するためにのみ使用される場合、単純にそれらを削除しても問題ありませんか?
ide - ILASM ファイルのコンパイルをサポートする組み込みの商用またはオープン ソースの IDE はありますか?
(Visual Studio 以外に) IDE から直接 IL アセンブラー ファイルをビルドできる IDE はありますか?
c# - VS 2010 Ilasm.exe でサード パーティの 2.0 .dll を厳密に命名
そのため、厳密に型指定する必要がある C# 2.0 で記述されたサード パーティの .dll があり、ソース コードにアクセスできません。.dll を逆アセンブルし、厳密な名前のキー ファイルを使用して再アセンブルする方法に関する記事をいくつか見つけました。
私が抱えている問題は、VS2010 がそれを 2.0 .dll (現在のアプリケーションのバージョン) ではなく .NET 4.0 .dll として再コンパイルすることです。「このアセンブリは、現在ロードされているランタイムよりも新しいランタイムによってビルドされており、ロードできません」というランタイム エラーが発生するため、プロジェクトに "新しい" dll を含めることはできません。dll に署名しないと、"アセンブリが厳密に型指定されていません" というメッセージが表示されます。エラー。
VS2010 ilasm.exe を使用して 2.0 フレームワークでこの .dll を再コンパイルする方法はありますか?
c# - 単一のC#ファイルをILアセンブリに変換することは可能ですか?
単一のc#ソースファイルが与えられた場合、後で各'.il'ファイルをilasmにフィードしてアセンブリを生成できるように、その単一ファイルのIL(アセンブルされていない)を出力したいのですが、これは可能ですか?
assemblies - ビルドされた .NET アセンブリのバージョン情報を変更する
現在使用している.NETアセンブリのバージョン情報を変更するより良い方法はありますか。
私の現在のアプローチは次のとおりです。
私はildasmでアセンブリを逆アセンブルします:
これにより、Riolo.WebUI.res コンパイル済みリソース ファイルも生成されます。これを Visual Studio のユーザー インターフェイスで開いて変更し、アセンブリをilasmで再アセンブルします。
このプロセスにはさまざまな問題があります。主な理由は明らかに、カロネードの側面で蚊を撃ちたいと思っていることと、コマンド ラインを使用して.res
ファイルを.rc
ファイルに逆コンパイルする方法がわからないため、コマンド ラインを使用できないことです。これは、ファイルを変更するために Visual Studio を開く必要があるため.res
です。これは、非常に時間がかかり、エラーが発生しやすいことを意味します。 、したがって、まだ予期しないシナリオで早期または後で噛まれるのではないかと心配しています.
c# - ExportDll で ildasm/ilasm を実行した後、アセンブリのコード カバレッジを取得するにはどうすればよいですか?
C# アセンブリでビルド後の手順を使用して、dll から関数シグネチャを公開しています。この手順では、 http://www.codeproject.com/KB/dotnet/DllExport.aspxの ExportDll ツールを使用します。ただし、mstest を使用して dll を実行し、コード カバレッジ レポートを取得しようとすると、次のエラーが発生します。
(いくつかの P/Invoke シグネチャを除いて) アセンブリにアンマネージ コードがないことを考えると、これは奇妙です。ビルド後の手順を実行すると、コードが適切に計測され、コード カバレッジ レポートを取得できます。したがって、それはこのビルド後のステップであり、コード自体の何かではないとしか言えません。
私は、ExportDll 後のバージョンをビルドして配布しながら、ExportDll 以外のバージョンのコードを使用して単体テストを実行するという考えに傾倒しています。他のコンポーネントが DLL エクスポートを介して関数を見つけることができるかどうかよりも、コードがテストされているかどうかに主に関心があるので、これが悪い解決策だとは思いません。ただし、ビルド管理の悪夢であり、チームに「そのアセンブリではなく、このアセンブリを使用する」と説明する必要があると感じています。
このツールで実行された dll の単体テストを行った経験のある人はいますか? あるいは、ildasm/ilasm を使用してコンパイル、逆コンパイル、および再アセンブルされたアセンブリを計測した経験のある人はいますか?
.net - ildasm、次に同じメタデータを持つilasm
アセンブリにパッチを適用する必要があり、現時点ではソースコードから再構築できません。ildasm mydll.dll /all /out=mydll.ilを使用してILをダンプしてから、ilasm / dll mydll.ilを使用して再構築できます。ファイルのバージョン、公開鍵などがすべて欠落していることを除けば、すべて問題ありません。新しいバイナリ。これらを追加するようにilasmに指示するにはどうすればよいですか?運が悪かったので/mdvスイッチを試しました。
clr - ILASM が FileVersion を設定しない
問題なくコンパイルできる .il ファイルがあります。私はそれに厳密な名前を付けることができるので、問題はありません。しかし、期待どおりに属性を介してファイルバージョンを設定することはできません。ilasm を使用するときにアセンブリの FileVersion を設定するにはどうすればよいですか?
往復すると、読み取り不可能なバイナリデータのみを含む .res ファイルが常に取得されます。この res ファイルの中身は何ですか?編集できますか?
コードが機能しない
c# - ILで生成されたアセンブリ(C#で呼び出されるilasm.exe)にUACが必要なのはなぜですか?
ILコードをアセンブリにコンパイルしようとしています。はilasm.exe
私のC#アプリケーションによって呼び出されるはずです。インスタンスilasm.exe
を介してを呼び出しています。ProcessStartInfo
PEの生成は正常に機能し、アセンブリは機能しています。
私の問題は、私のアプリケーションによって作成されたファイルが、後で実行されるために管理者権限を必要とすることです。
ilasm.exe
コマンドラインから手動で呼び出す場合、管理者権限は必要ありません。
使用されたilasm.exeコマンド:
ilasm.exe /qui /output="c:\test\newFile.exe" <path to il file>
ilasm.exeを呼び出す私のアプリケーション:
私は何か間違ったことをしていますか?C#から別のプロセスを呼び出すときに他に何かを指定する必要がありますか?
管理者権限なしでアプリケーションとコマンドラインを実行しています。