MSoft исключение даже с теми бинарниками где нет typelib ресурсов и манифеста, так что скорей дело не в них. Clerk с другим бинарником исключение в gdi32.pldcGet (0x77F159B6). кидаю его, вот код: вызывается из ...
deLight Нужно продебажить, так не совсем понятно. Короче когда исполняется инициализация gdi32, в NtGdiInit есчо до вызова ядерного калбэка в процесс должны быть промаплены две секции, указатель на вторую занрсится в PEB.GdiSharedHandleTable. Это вызывается из InitRoutine, цепочка UserClientDllInitialize -> GdiDllInitialize -> NtGdiInit, ядерный калбэк вызывает user32!ClientThreadSetup -> GdiProcessSetup. Последняя копирует возвращенный ядром указатель из пеб в переменные pGdiSharedMemory и pGdiSharedHandleTable, собственно изза невалидного указателя в последней переменной и возникает исключение. Тебе нужно продебажить и посмотреть как выполняется инициализация этих переменных.
Порядок. GdiSharedHandleTable инициализируется из DllMain user32, который и висел у меня в импорте. Таблица хендлов выделялась в "плохом" для меня месте и потом перезаписывалась одной из секций, отчего и все последующие исключения. Clerk спасибо за помощь