Можно ли считать зашить бинарный файл внутрь другого и получить к нему доступ?
Имеется динамическая библиотека, получить её статическую версию невозможно.
Имеется программка (используется Qt, если это важно), ей для работы необходима вышеуказанная библиотека.
Не хочется тащить два файла, желательно, чтобы конечный пользователь работал только с одним моим исполняемым файлом.
Знаю, что можно запаковать файл, извлечь его в temp-директорию и потом использовать. Но гораздо интереснее, могу ли я использовать эту dll не распаковывая её никуда? Например, узнать её смещение в бинаре, или ещё как-то.
Сделать то библиотеку двоичным ресурсом в исполняемом файле можно, получить хэндл к нему и т.п., но заставить LoadLibrary загрузить библиотеку из ресурса нельзя. Но вы можете сохранить ресурс в файл и уже этот файл скормить LoadLibrary.
IkaR49 , в вопросе указаны неверные теги. Твой вопрос актуален только для Qt и его режима статической линковки.
К слову, собрать один PE из нескольких вполне реально, но для этого тебе потребуются довольно глубокие знания принципов работы с PE и инструментов программирования.
Очень простой и очень слабый пример работы с PE есть у меня в github. По тому, насколько понятным для тебя будет данный код ты можешь определить сложность реализации полноценного PE контейнера своими руками.