2011-07-21 10 views
2

.Netアセンブリ内の埋め込みリソースの場所をどのように発見できますか? "場所"とは、アセンブリ内の先頭と末尾のバイト位置を意味します。これを達成するためのツールやサンプルコードはありますか?アセンブリ内の埋め込みリソースの場所

ありがとうございます。

+0

私はちょうど興味があります、なぜあなたはこれを知りたいですか? –

+0

'GetManifestResourceStream'を呼び出してリソースを取得できます。ポジションが必要な理由は何ですか? – Mrchief

+0

アセンブリ内の埋め込みリソースを保護するソリューションを開発中ですので、アセンブリリソースのアーキテクチャを知る必要があります。 –

答えて

3

あなたの探しているのはPE Fileリーダー/パーサーです。完全な仕様は、MSDNに位置しています:http://msdn.microsoft.com/en-us/windows/hardware/gg463119

管理リソース:

このパーサはあなたが後にしているものにかなり近いです:http://www.codeproject.com/KB/dotnet/asmex.aspx

および他のいくつかのPEファイルの読者があり、this one also looks promisingしかしん特に管理対象リソースを呼び出さない。 Kris StantonのExploring pe file headers using managed codeもご覧ください。

Win32の資源:

のWin32リソースがはるかに簡単です。同じPEリーダーの多くは、リソースを見つけるためにファイルにオフセットします。そこには、リソースのレイアウトを定義する明確な構造のセットがあります。 MSDN has defined theseおよびothers have written about itである。いくつかのGoogleの検索でそこにあなたを取得する必要があります。

+0

ありがとう、それは私が必要なすべてです:) –

1

試行錯誤ができます。埋め込まれていることがわかっているリソースのバイト構造を確認し、Hex Editorを使用して同じものを探してみてください。リソースがない場合は、Resource Hackerを使用して解凍してみてください。 http://www.angusj.com/resourcehacker/

関連する問題