Скачивание можно сделать на простых Internet API (
), но это только для винды т.е. не портабельно.
Для подгрузки нужен мануалмаппер, он реализует эквивалент LoadLibrary, т.е. выделяет память в процессе, записывает туда модуль, разрешает импорт, проводит релокацию и тд, например вот
.
Можно конечно и просто сохранить файл на диск и оттуда его подгрузить через LoadLibrary во внешнем процессе через CreateRemoteThread/угон контекста или любой другой способ исполнить код в процессе.