C# 如何为新的节头定义PointerToRawData?

C# 如何为新的节头定义PointerToRawData?,c#,portable-executable,C#,Portable Executable,我试图在PE中添加一个新的节头,但我不知道如何计算新节的PointerToRawData 正如我所知,它应该是原始数据的大小+上一节的PointerToRawData,但是我添加到PE中的节的SizeOfRawData等于0,虚拟大小等于1000 有人能帮我提些建议吗 提前感谢,指针orawdata是属于此节的数据的文件位置。如果您的节没有任何相关数据,它可以与上一节的值相同,或者-我认为-为零。请参阅以下链接中的“可移植可执行文件格式–反向工程视图”: 它确切地说是“它是从文件开始到节数据的

我试图在PE中添加一个新的节头,但我不知道如何计算新节的PointerToRawData

正如我所知,它应该是原始数据的大小+上一节的PointerToRawData,但是我添加到PE中的节的SizeOfRawData等于0,虚拟大小等于1000

有人能帮我提些建议吗


提前感谢,

指针orawdata是属于此节的数据的文件位置。如果您的节没有任何相关数据,它可以与上一节的值相同,或者-我认为-为零。

请参阅以下链接中的“可移植可执行文件格式–反向工程视图”:

它确切地说是“它是从文件开始到节数据的偏移量。”在第18页。 另一个有用的参考是《微软可移植可执行文件和通用对象文件格式规范》,你可以在谷歌上找到它 我也在搜索这些信息并与您分享~
祝你好运~

所有字段都设置为0,我将进入PE资源管理器:警告!第(7)节超出了第(8)节的原始文件偏移量。仅设置了虚拟地址和特征。有什么想法吗?(附:它告诉我它不是一个有效的win32应用程序)在参考资料之前,您在哪里添加新的部分?我将在其他部分的末尾添加该部分。最后一部分是.rsrc从错误中可以看出,.rsrc部分的PointerToRawData+SizeOfRawData与下一部分的PointerToRawData值不匹配。此外,请记住,所有SizeOfRawData字段值必须是文件对齐值的整数倍(零除外)。