2011-07-21 37 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但是不沒有專門調出管理資源。你也可以看看克里斯斯坦頓的Exploring pe file headers using managed code

的Win32資源:

Win32的資源更容易。許多相同的PE閱讀器將偏移到文件中以定位資源。一旦出現,就會定義一組定義資源佈局的結構。 MSDN has defined theseothers have written about it。一些谷歌搜索應該讓你在那裏。

+0

謝謝,這就是我需要的。:) –

1

您可以進行反覆試驗。檢查您知道嵌入的資源的字節結構,並嘗試使用十六進制編輯器找到相同的資源。如果你沒有這個資源,你可以嘗試使用Resource Hacker進行提取: http://www.angusj.com/resourcehacker/