Duplicate relocations in DLL

Jonas Maebe jonas.maebe at elis.ugent.be
Thu May 16 09:47:07 CDT 2013


On 16 May 2013, at 16:34, Jonas Maebe wrote:

> On 15 May 2013, at 16:31, Alessandro Pignotti wrote:
>
>> Packaged with a game, I found a peculiar DLL which has duplicate  
>> blocks in the
>> relocation table. I mean that the same pages are relocated twice  
>> and this of
>> course breaks the DLL. I'm not sure about what could be a right way  
>> to support
>> such (broken) DLLs. A possibility would be to keep track of already  
>> relocated
>> pages and skip them if needed. Suggestions are welcome.
>
> I've just asked a colleague of mine about this and according to him  
> it's perfectly legal in Windows to have multiple relocation blocks  
> for the same section, in which case Windows will also fixup  
> everything twice. So simply ignoring such relocations is normally  
> wrong. Which dll from which game is this?

Addendum: he just realised that you may be talking about multiple base  
relocation arrays for a single page (arrays that contain the offsets  
of the instructions that need fixing up), which would indeed be  
strange. Still, it would be interesting to know which dll it is.

Thanks,


Jonas



More information about the wine-devel mailing list