亚洲乱码一卡二卡四卡乱码新区_亚洲乱码中文字幕小综合_亚洲人成电影在线播放_亚洲性色AV一区二区三区_亚洲一区二区三区影院_亚洲中文字幕久久精品无码A_亚洲中文字幕无码专区_伊人热热久久原色播放WWW_在线观看AV永久免费_最新欧洲大片免费在线,欧美日韩成人三级免费看,久久黄色网址,欧美激情内射喷水高潮

首頁
社區(qū)
課程
招聘
添加.rsrc節(jié)數(shù)據(jù)

咨詢個技術(shù)問題,,功能目的是從一個pe文件獲取rsrc節(jié)數(shù)據(jù),,然后把這個獲取到的數(shù)據(jù)添加到一個沒有rsrc節(jié)的pe文件里,,我是這樣修改的,,首先從有rsrc節(jié)的pe文件里獲取.rsrc節(jié)的數(shù)據(jù)和rsrc節(jié)頭的VirtualSize,然后在沒有rsrc節(jié)的pe文件添加一個rsrc節(jié)頭和在rsrc節(jié)頭中指定的磁盤位置寫入rsrc數(shù)據(jù),,其他節(jié)頭的磁盤位置的信息和VirtualAddress都重新計算無誤,,OptionalHeader header中的IMAGE_DATA_DIRECTORY_ARRAY DataDirArray數(shù)組也重新計算了,,遇到一個問題只有當新增的rsrc節(jié)頭中的VirtualAddress和原本就有rsrc節(jié)頭的pe文件中的rsrc節(jié)頭中的VirtualAddress保持一樣,,才能在文件的屬性中查看到版本信息和圖標信息等信息,,這是什么原因?qū)е碌陌,。?/p>

收藏
2條回答
凨少 2023-3-24

pe文件中新增的rsrc節(jié)頭的VirtualAddress需要與原rsrc節(jié)頭在pe文件中的VirtualAddress相同的原因是windows操作系統(tǒng)使用rsrc節(jié)頭虛擬地址來定位資源數(shù)據(jù)。如果 VirtualAddress 不同,,操作系統(tǒng)將無法定位資源數(shù)據(jù),,版本信息和圖標信息將不會顯示在文件屬性中。

回復(fù)
Xiaofeixiang 2023-4-3

在你的修改中,你將原有PE文件中的.rsrc節(jié)數(shù)據(jù)添加到了一個沒有.rsrc節(jié)的PE文件中,,并且重新計算了各個節(jié)頭的信息以及OptionalHeader中的IMAGE_DATA_DIRECTORY_ARRAY DataDirArray數(shù)組,。

 

你遇到的問題可能是由于以下原因:

 

1.新增的.rsrc節(jié)頭中的VirtualAddress與原有PE文件中的.rsrc節(jié)頭中的VirtualAddress不一致,導(dǎo)致資源數(shù)據(jù)無法正確加載,。由于資源目錄表中存儲了資源項的相對偏移,,如果新增的.rsrc節(jié)的VirtualAddress改變了,那么相對偏移也會改變,,就會導(dǎo)致資源數(shù)據(jù)無法正確加載,。

 

2.資源目錄表的結(jié)構(gòu)被修改了。如果你新增的.rsrc節(jié)數(shù)據(jù)中的資源目錄表結(jié)構(gòu)與原有PE文件中的不一致,,那么就會導(dǎo)致資源數(shù)據(jù)無法正確加載,。資源目錄表結(jié)構(gòu)包括了資源目錄表的數(shù)量、資源項的數(shù)量等等,。

 

所以,,你需要確保新增的.rsrc節(jié)頭中的VirtualAddress和原有PE文件中的.rsrc節(jié)頭中的VirtualAddress保持一致,并且保證資源目錄表的結(jié)構(gòu)不被修改,。你可以使用PE文件編輯器,,例如PE Explorer等工具來查看和編輯PE文件中的.rsrc節(jié)數(shù)據(jù),確保你的修改是正確的,。

回復(fù)