ATI OpenGl DLL crashes on post-compressed EXE - and how to fix

Started by Jeremy Collake, October 07, 2011, 08:29:15 PM

Previous topic - Next topic

Jeremy Collake

For the applications that USE OpenGL, and have imported its Windows interface, OpenGL.DLL:

There is a crash after compression on systems with ATI device drivers. It is due to the ATI OpenGL DLL applying API hooks to processes that load it. The /RestoreImports:Yes switch originally intended to deal with this, but as their code changed, it did not. I do not want to play cat and mouse with them.. so..

A customer reports an alternate work-around: Load the OpenGL.DLL dynamically (LoadLibrary), importing manually (GetProcAddress). During this stage the original import table is fully reconstructed and will not be affected by the ATI OpenGL API hooks.

Some protection and third-party plugins may interfere with this.

I am looking into what has happened with the /RestoreImports switch .. if it still works properly, or if ATI made some other change to their code that makes messing with a half-uncompressed image problematic.
Software Engineer. Bitsum LLC.