Salut,
Je ne sais pas si l'idée est bonne, mais en tout cas elle est originale !
D'un côté je ne pense pas qu'un hacker expérimenté mette bien longtemps pour obtenir un fichier .dll à partir d'un processus utilisant cette dll (Perso j'ai déjà reconstitué un .exe à partir d'un processus en quelques dizaines de minutes). Ce n'est cependant pas trivial car le module en mémoire est divisé en plusieurs sections qu'il faut remettre bout à bout (
Documentation sur le format des fichiers exécutables).
Du même côté, la dll peut être sniffée lors de son transfert si elle n'est pas cryptée. Ou encore le fichier peut être lu en mémoire entre le moment où tu l'as reçu et le moment ou tu l'as chargé.
Mais quoiqu'il en soit, ta protection sera assez efficace car il faudra que quelqu'un s'intéresse sérieusement à ton logiciel pour en faire une version "standalone" et re-distribuable librement.
Bon par contre en pratique, c'est une autre histoire...
La fonction de base pour charger une dll, c'est
LoadLibrary, qui ne prend qu'un fichier...
Windows propose aussi
un jeu de fonctions travaillant sur les images (Image = fichier exécutable = dll, exe...) : MapAndLoad ou ImageLoad auraient pu... Mais non.
Bref, il faudrait recoder LoadLibrary à la main, ce qui n'est pas évident... Voir mon premier lien si tu veux te lancer dans l'aventure.