SharkLoadLibraryDarkLoadLibrary 的完整版
DarkLoadLibrary中的darkloadlibrary.h文件中, 作者定义了一组宏, 用于Control Flags

#define LOAD_LOCAL_FILE  0x00000001
#define LOAD_REMOTE_FILE 0x00000002
#define LOAD_MEMORY		 0x00000003
#define NO_LINK			 0x00010000

可以看到, 作者早就定义好了LOAD_REMOTE_FILE的宏, 只不过在公开项目时删除了相关功能我将功能完善了, 开源在github供大家使用: SharkLoadLibrary
以下是项目介绍:

LoadLibrary for Children’s Paradise.
:sailboat: Folk From DarkLoadLibrary and thanks.

Feature

New feature: LOAD_REMOTE_FILE

Usage

PDARKMODULE DarkModule = DarkLoadLibrary(
	LOAD_REMOTE_FILE, // control flags
	"http://xxxx/demo.dll", // remote dll url, if loading from remote
	NULL, // dll buffer to load from if loading from memory
	0, // dll size if loading from memory
	"Demo" // dll name if loaded from memory and remote
);

Build && Test

Environmental requirements

  • libcurl Install from vcpkg:
    .\vcpkg install curl:x64-windows-static
    
    and set vcpkg->Use Static Libraries YES
    Build it :)

Test

I made a test dll named demo.dll.
It has a export function named Demo and just pop a dialog.
use Python3 start a server:

python -m http.server 8000

url maybe like http://127.0.0.1:8000/demo.dll
use url to replace http://xxxx/demo.dll

Run:

rundll32.exe SharkLoadLibrary.dll,calc