Inconsistency/bug with GetProcAddress
mike at codeweavers.com
Sun Aug 7 00:24:05 CDT 2005
Vitaliy Margolen wrote:
> app1.exe: GetProcAddress(mKernel32, "LoadLibraryA") returns 0x404FCBCC
> app2.exe: GetProcAddress(mKernel32, "LoadLibraryA") returns 0x404FFBCC
> Is there are any reason why this is happening? Any ways to fix this?
Under Windows 98, you will always get the same address for the same
export from a dll, however that's not garanteed under Windows NT (or Wine).
The problem is that mmap does not garantee that any specific area of
memory will be available, so we can't always load a library at the same
You could "fix" it for a specific dll by reserving a memory area using
the wine-preloader, but that would be a hack.
> Unfortunately there are some programs that depend on address returned from
> GetProcAddress being the same in parent and child processes.
Which program depends upon that behaviour? It's possible that some old
Windows 98 copy protections schemes depend upon it, but they should work
if you change the version to win2k.
More information about the wine-devel