Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void RelocateRSRC(PBYTE prsrc, PIMAGE_RESOURCE_DIRECTORY pird, LONG Delta)
- {
- if (DWORD NumberOfEntries = pird->NumberOfNamedEntries + pird->NumberOfIdEntries)
- {
- PIMAGE_RESOURCE_DIRECTORY_ENTRY pirde = (PIMAGE_RESOURCE_DIRECTORY_ENTRY)(pird + 1);
- do
- {
- if (pirde->DataIsDirectory)
- {
- RelocateRSRC(prsrc,
- (PIMAGE_RESOURCE_DIRECTORY)(prsrc + pirde->OffsetToDirectory),
- Delta);
- }
- else
- {
- PIMAGE_RESOURCE_DATA_ENTRY data =
- (PIMAGE_RESOURCE_DATA_ENTRY)(prsrc + pirde->OffsetToData);
- data->OffsetToData += Delta;
- }
- } while (pirde++, --NumberOfEntries);
- }
- }
Add Comment
Please, Sign In to add comment