程序集内的嵌入式资源位置

时间:2011-07-21 03:41:25

标签: c# .net embedded-resource .net-assembly

我们如何在.Net程序集中发现嵌入式资源的位置? “位置”是指程序集中的开始和结束字节位置。是否有任何工具或一些示例代码来实现这一目标?

提前致谢。

2 个答案:

答案 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 theseothers have written about it。一些谷歌搜索应该让你到那里。

答案 1 :(得分:1)

您可以进行反复试验。检查您知道嵌入的资源的字节结构,并尝试使用十六进制编辑器找到相同的字节结构。如果您没有资源,可以尝试使用Resource Hacker进行提取: http://www.angusj.com/resourcehacker/